1、sklearn.model_selection.
cross_val_score
(estimator, X, y=None, groups=None, scoring=None, cv=None, n_jobs=None, verbose=0, fit_params=None, pre_dispatch='2*n_jobs', error_score=nan)
(1)cv參數定義交叉驗證方式:對於參數值爲None或Integer,當estimator是分類器且y是二類或多類,使用stratifiedKfold;否則爲Kfold;
2、sklearn.metrics.
roc_auc_score
(y_true, y_score, average='macro', sample_weight=None, max_fpr=None, multi_class='raise', labels=None)
(1)參數y_score:在二分類或多分類中,該值既可以是概率值,也可以是non-thresholded decision values (as returned by decision_function
on some classifiers),多分類中概率值的總和爲1;當二分類時,y_score是最大標籤類別的預測概率;當多類別時,預測每個類別的分數順序應遵從真實標籤的順序,或者,遵從參數y_true中標籤的數字順序或字母順序。
(2)今天參數y_score用錯了,直接把預測類別當作參數傳了,犯了低級錯誤,之前博客還介紹過;
總結:當cross_val_score中estimator是分類器時,且cv爲Integer時,其效果相當於stratifiedKFold+roc_auc_score。