W3School TIY Editor

  • W3School 在线教程
  • 改变方向
  • 暗黑模式
​x
 
# 这三行代码使编译器能够绘图:
import sys
import matplotlib
matplotlib.use('Agg')
​
import numpy as np
import matplotlib.pyplot as plt
​
from sklearn.metrics import accuracy_score, confusion_matrix, roc_auc_score, roc_curve
​
n = 10000
ratio = 0.95
n_0 = int((1-ratio) * n)  # 少数类样本数
n_1 = int(ratio * n)      # 多数类样本数
​
y = np.array([0] * n_0 + [1] * n_1)  # 真实标签
​
# 从总是预测多数类的假设模型中获取的概率值:
y_proba = np.array([1]*n)  # 全部预测为类别 1 的概率
y_pred = y_proba > 0.5     # 预测结果(全部为 True)
​
def plot_roc_curve(true_y, y_prob):
    """
    根据预测概率绘制ROC曲线
    """
    fpr, tpr, thresholds = roc_curve(true_y, y_prob)
    plt.plot(fpr, tpr)
    plt.xlabel('假阳性率(FPR)')
    plt.ylabel('真阳性率(TPR)')
​
# 绘制 ROC 曲线并计算 AUC 分数:
plot_roc_curve(y, y_proba)
print(f'模型1 AUC分数: {roc_auc_score(y, y_proba)}')
​
# 这两行代码使编译器能够输出图形:
plt.savefig(sys.stdout.buffer)
sys.stdout.flush()