【发布时间】:2020-10-14 21:19:57
【问题描述】:
我必须评估两种分类算法的性能。我使用来自 sklearn (here documentation) 的 roc_curve 获得 假阳性率 和 真阳性率。我使用了以下代码:
fpr = dict()
tpr = dict()
roc_auc = dict()
for i in range(2):
fpr[i], tpr[i], _ = roc_curve(true_labels, pred_labels)
roc_auc[i] = auc(fpr[i], tpr[i])
我有两个分类器的这些信息,现在我想比较它们。我知道可以使用 AUC 或其他指标,但 我真的很想了解 ROC 曲线超过另一条的次数百分比。因此,我想比较来自两条曲线。
我的第一个想法是比较每个 fpr 元素对应的 tpr。不幸的是,fpr 和 tpr 对象的大小不同,因为它们是插值步骤的输出。
你知道怎么做吗?为了使比较可行,我似乎无法对roc_curve 函数说我想要输出中有多少(以及哪些)点。使用 sklearn 不是强制性的。
【问题讨论】:
-
您能否阐明“ROC 曲线超过另一条曲线的次数百分比”是什么意思?百分比是指在 x 轴、阈值还是其他方面?
-
我的意思是(假设我有 100k 点)我想知道 Curve1 的 y 值比 Curve2 高多少倍
-
只是为了确定:100k 点是 x 值?所以你不在乎两个分类器之间的阈值如何比较?
标签: python machine-learning scikit-learn classification