1
我正在使用scikit-learn中的度量模型的'roc_curve'。這個例子表明,'roc_curve'
應該'auc'
類似於之前被稱爲:如何在傳遞給'auc'之前處理從'roc_curve'返回的NaN?
fpr, tpr, thresholds = metrics.roc_curve(y, pred, pos_label=2)
然後:
metrics.auc(fpr, tpr)
然而,返回以下錯誤:
Traceback (most recent call last): File "analysis.py", line 207, in <module>
r = metrics.auc(fpr, tpr) File "/apps/anaconda/1.6.0/lib/python2.7/site-packages/sklearn/metrics/metrics.py", line 66, in auc
x, y = check_arrays(x, y) File "/apps/anaconda/1.6.0/lib/python2.7/site-packages/sklearn/utils/validation.py", line 215, in check_arrays
_assert_all_finite(array) File "/apps/anaconda/1.6.0/lib/python2.7/site-packages/sklearn/utils/validation.py", line 18, in _assert_all_finite
raise ValueError("Array contains NaN or infinity.") ValueError: Array contains NaN or infinity.
是什麼意思的條款或結果/是否有辦法解決這個問題?
你爲什麼使用'pos_label = 2'?這意味着你的正面標籤是「2」 - 你的情況是否如此?如果你只有「0」和「1」作爲標籤,可以解釋NaNs :) – ihadanny