我已应用scikit-learn website roc documentation中的以下代码为我自己的数据问题创建ROC曲线。
但是现在我对以下部分有疑问:
# Compute micro-average ROC curve and ROC area
fpr["micro"], tpr["micro"], _ = roc_curve(y_test.ravel(), y_score.ravel())
roc_auc["micro"] = auc(fpr["micro"], tpr["micro"])
我想取假阳性率值和真阳性率值的平均值。但每次运行fpr [“micro”]似乎都有不同的长度。这怎么可能?
我的代码:
# Compute ROC curve and ROC area for each class
fpr = dict()
tpr = dict()
roc_auc = dict()
for i in range(2):
fpr[i], tpr[i], _ = roc_curve(y_valid, y_score)
roc_auc[i] = auc(fpr[i], tpr[i])
print(fpr)
# Compute micro-average ROC curve and ROC area
fpr["micro"], tpr["micro"], _ = roc_curve(y_valid.ravel(),
y_score.ravel())
roc_auc["micro"] = auc(fpr["micro"], tpr["micro"])
y_valid和y_score都是长度为100的数组。 fpr和tpr每次都在变化。