简介:ROC曲线是一种用于评估分类器性能的工具,通过对阈值进行调整,可以得到一个经过(0, 0)和(1, 1)的曲线,即ROC曲线。AUC(Area Under ROC Curve)则是一种用来度量分类模型好坏的标准。本文将介绍ROC曲线的概念、绘制方法以及Python代码实现。
ROC曲线,全名为Receiver Operating Characteristic,中文名“受试者工作特征曲线”,是一种重要的分类器性能评估工具。它通过在二维平面上画出曲线,横坐标为假正率(False Positive Rate,FPR),纵坐标为真正率(True Positive Rate,TPR),从而评估分类器的性能。
绘制ROC曲线需要经过以下步骤:
在上面的代码中,我们首先准备了一个简单的测试集和训练好的分类器。然后使用分类器预测的概率值计算出TPR和FPR。最后使用matplotlib库中的plot函数绘制出ROC曲线,并显示标签和边界范围。
from sklearn import metricsimport matplotlib.pyplot as plt# 准备数据test = [[0, 0], [0, 1], [1, 0], [1, 1]] # 测试集的真实标记值tree = ... # 训练好的分类器proba = tree.predict_proba(test) # 分类器预测的概率值# 计算TPR和FPRfpr, tpr, thresholds = metrics.roc_curve(test[:, 1], proba[:, 1])# 绘制ROC曲线plt.plot(fpr, tpr, linewidth=2, label='ROC of CART')plt.xlabel('False Positive Rate')plt.ylabel('True Positive Rate')plt.ylim(0, 1.05)plt.xlim(0, 1.05)plt.legend()plt.show()