W3School TIY Editor
W3School 在线教程
改变方向
暗黑模式
# 这三行代码使编译器能够绘图: 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 = .95 n_0 = int((1-ratio) * n) # 少数类样本数 n_1 = int(ratio * n) # 多数类样本数 y = np.array([0] * n_0 + [1] * n_1) # 真实标签 # 从假设模型中获取的概率值(不总是预测众数类): y_proba_2 = np.array( np.random.uniform(0, .7, n_0).tolist() + # 类别 0 的预测概率 np.random.uniform(.3, 1, n_1).tolist() # 类别 1 的预测概率 ) y_pred_2 = y_proba_2 > .5 # 以 0.5 为阈值生成预测标签 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_2) print(f'模型 2 AUC 分数: {roc_auc_score(y, y_proba_2)}') # 这两行代码使编译器能够输出图形: plt.savefig(sys.stdout.buffer) sys.stdout.flush()