我正在使用sklearn包来构建逻辑回归模型,然后对其进行评估.具体来说,我想使用交叉验证,但无法通过cross_val_score函数找出正确的方法.
根据我看到的documentation和examples,我需要传递模型,特征,结果和评分方法的功能.然而,AUC不需要预测,它需要概率,因此它可以尝试不同的阈值并基于此计算ROC曲线.那么这里的正确方法是什么?这个函数有’roc_auc’作为一种可能的评分方法,所以我假设它与它兼容,我只是不确定使用它的正确方法.下面的示例代码段.
from sklearn.linear_model import LogisticRegression
from sklearn.cross_validation import cross_val_score
features = ['a','b','c']
outcome = ['d']
X = df[features]
y = df[outcome]
crossval_scores = cross_val_score(LogisticRegression(),X,y,scoring='roc_auc',cv=10)
基本上,我不明白为什么我需要在这里将y传递给我的cross_val_score函数,而不是在逻辑回归模型中使用X计算的概率.它只是自己做那个部分吗?