我正在阅读 Kaggle 上关于泰坦尼克号灾难的教程,根据我使用的细节,我得到了不同的结果cross_validation.cross_val_score。
如果我这样称呼它:
scores = cross_validation.cross_val_score(alg, titanic[predictors], titanic["Survived"], cv=3)
print(scores.mean())
0.801346801347
我得到的分数与我这样称呼它不同:
kf = KFold(titanic.shape[0], n_folds=3, random_state=1)
scores = cross_validation.cross_val_score(alg, titanic[predictors], titanic["Survived"], cv=kf)
print(scores.mean())
0.785634118967
这些数字很接近,但差异足以显着。据我了解,这两个代码片段都要求采用 3 折交叉验证策略。谁能解释导致分数略低的第二个示例的幕后情况?