发动态
综合 最新发布 最新回复
图文
列表
置顶
HDI高密度互连板正式上线
上期我们介绍了Python的环境配置,本期我们介绍ROC曲线以及如何绘制ROC曲线。 ROC(Receiver Operating Characteristic)曲线是用于评估二分类模型性能的一种工具。它显示了在不同阈值下,真正例率(True Positive Rate,也称为灵敏度或召回率)与假正例率(False Positive Rate)之间的权衡关系。当我们讨论ROC曲线时,可以想象一个二分类模型,例如医学诊断中的癌症检测。我们用“正例”表示病患患有癌症,而“负例”表示患者没有癌症。真正例率 (TPR,也叫灵敏度或召回率): 假设我们的模型通过某个阈值,成功地找出了患有癌症的病患。 这就是一个真正例。 TPR告诉我们在所有实际患有癌症的病患中,有多少被成功地找出来了。 假正例率 (FPR): 然而,模型可能会犯错误,将一些实际上是健康的人错误地判定为患有癌症。 这就是一个假正例。 FPR告诉我们在所有实际健康的人中,有多少被错误地认为患有癌症。 现在 ,我们可以考虑不同的 阈值。 如果我们把阈值设置得很低,模型可能会把很多人都判定为患有癌症,这会增加TPR,但同时也增加了FPR。 反之,如果我们把阈值设置得很高,模型只会把那些非常确信患有癌症的人判定为患有癌症,这样会减少FPR,但可能也减少了TPR。ROC曲线就是在不同阈值下,TPR和FPR之间的权衡。如果你能画出ROC曲线,你可以看到在整个权衡范围内的模型表现情况。比如,一条理想的ROC曲线可能如下图所示: 这个图形展示了在不同阈值下,TPR和FPR的变化。曲线越靠近左上角,说明模型在保持高召回率的同时,控制假正例率的能力越好。ROC曲线正是通过不断移动分类器的“阈值”来生成曲线上的一组关键点 (也可以参考老师给的这篇博客:机器学习基础(1)- ROC曲线理解 - 简书 (jianshu.com)可能讲的更清晰一点) import numpy as np import matplotlib.pyplot as plt from sklearn.metrics import roc_curve, auc 我们导入我们需要使用的库,我们使用import导入特定的库,使用from从特定关键字导入,使用as作为库的别称。y_true = np.random.randint(2, size=100) y_scores = np.random.rand(100) 我们使用random生成随机的一百组数据。fpr, tpr, thresholds = roc_curve(y_true, y_scores) 接着调用roc_curve代入我们生成的数 据 计算 ROC曲线的参数。roc_auc = auc(fpr, tpr) 计算ROC曲线的面积。plt.figure(figsize=(8, 8)) plt.plot(fpr, tpr, label='ROC曲线(AUC = {:.2f})'.format(roc_auc)) plt.plot([0, 1], [0, 1], linestyle='--', label='数据') plt.xlabel('FPR') plt.ylabel('TPR') plt.legend(loc='lower right') plt.show() 最后利用matplotlib生成我们的图像并显示就完成了我们的ROC曲线的绘制。
人工智能导论(1.2)——ROC曲线介绍以及绘制ROC曲线
嘉立创PCB
1-32层pcb打样,真A级板材,最快12小时出货,自营制造,品质可靠!
打赏记录
服务时间:周一至周六 9::00-18:00 · 联系地址:中国·深圳(福田区商报路奥林匹克大厦27楼) · 媒体沟通:pr@jlc.com · 集团介绍
移动社区