为什么fpr ['micro']和tpr ['micro]的长度在多次运行中有所不同?

时间:2017-04-17 16:29:56

标签: python scikit-learn roc

我已应用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每次都在变化。

0 个答案:

没有答案