在学习 ROC 曲线时,我对它们的制作方式感到困惑。
我在这里考虑鸢尾花分类问题。要计算 TPR,我们可以使用 现在在这种情况下,首先我们输入测试数据并使用上面的公式找出 TPR 和 FPR。但是在这种情况下,我们如何获得不同的数组大小。
>>>fpr = dict()
>>>tpr = dict()
>>>roc_auc = dict()
>>>for i in range(n_classes):
fpr[i], tpr[i], _ = roc_curve(y_test[:, i], y_score[:, i])
roc_auc[i] = auc(fpr[i], tpr[i])
tpr(true positive rate)
0: array([ 0.04761905, 1. , 1. ]), 1: array([
0.03333333, 0.03333333, 0.1 , 0.1 , 0.2 ,
0.2 , 0.23333333, 0.23333333, 0.36666667, 0.36666667,
0.4 , 0.4 , 0.7 , 0.7 , 0.73333333,
0.73333333, 0.76666667, 0.76666667, 0.8 , 0.8 ,
0.83333333, 0.83333333, 0.86666667, 0.86666667, 0.9 ,
0.9 , 0.93333333, 0.93333333, 0.96666667, 0.96666667,
1. , 1. ]), 2: array([ 0.04166667, 0.79166667, 0.79166667, 0.95833333, 0.95833333,
1. , 1. ]),