淘先锋技术网

首页 1 2 3 4 5 6 7

科特曲线(ROC曲线,又称接收者工作特征曲线)是用于评估分类模型性能的一种方法。Python中的sklearn库提供了简便的方法来绘制科特曲线,下面是一个简单的例子:

from sklearn.metrics import roc_curve
import matplotlib.pyplot as plt
y_true = [0, 0, 1, 1]
y_scores = [0.1, 0.4, 0.35, 0.8]
fpr, tpr, thresholds = roc_curve(y_true, y_scores)
plt.plot(fpr, tpr)
plt.plot([0, 1], [0, 1], linestyle='--')
plt.title('ROC curve')
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.show()

以上代码将生成一个简单的科特曲线,其中红色的虚线是随机猜测的基线。曲线越靠近左上角(0,1),分类器的性能越好。

我们还可以使用AUC(Area Under Curve)指标来比较不同模型的性能。例如,我们可以将以上代码修改为:

from sklearn.metrics import roc_auc_score
import matplotlib.pyplot as plt
y_true = [0, 0, 1, 1]
y_scores = [0.1, 0.4, 0.35, 0.8]
auc = roc_auc_score(y_true, y_scores)
print("AUC:", auc)
fpr, tpr, thresholds = roc_curve(y_true, y_scores)
plt.plot(fpr, tpr)
plt.plot([0, 1], [0, 1], linestyle='--')
plt.title('ROC curve')
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.show()

以上代码将在绘制科特曲线的同时,输出AUC的值。AUC的值越接近1,模型性能越好。