【发布时间】:2016-10-22 20:15:48
【问题描述】:
我正在使用 scikit-learn 解决分类问题,以预测机会的赢或输。
我使用了这段代码:
fpr, tpr, thresholds =roc_curve(yTest,predictions)
结果是:
(array([ 0. , 0.2628946, 1. ]),
array([ 0. , 0.73692477, 1. ]),
array([2, 1, 0]))
我知道使用 fpr、tpr 来计算在 (1,0) 范围内变化的各种阈值的 AUC。理想情况下,我所知道的阈值应该在 1 到 0 之间。
但是,这里的阈值为 2,1,0。从中了解什么以及如何解释。
示例代码看起来不错:
import numpy as np
from sklearn import metrics
y = np.array([1, 1, 2, 2])
scores = np.array([0.1, 0.4, 0.35, 0.8])
fpr, tpr, thresholds = metrics.roc_curve(y, scores, pos_label=2)
>>>fpr
array([ 0. , 0.5, 0.5, 1. ])
>>>tpr
array([ 0.5, 0.5, 1. , 1. ])
>>> thresholds
array([ 0.8 , 0.4 , 0.35, 0.1 ])
我的 predict_proba(yTest) 是:
[ 0.09573287 0.90426713]
[ 0.14987409 0.85012591]
[ 0.16348188 0.83651812]
...,
[ 0.13957409 0.86042591]
[ 0.04478675 0.95521325]
[ 0.03492729 0.96507271]
【问题讨论】:
-
您能分享一下您的 yTest 和预测数组中的值吗?
-
@AbhinavArora:编辑了我的问题
标签: python machine-learning scikit-learn data-mining