我正在尝试使用两种技术对模型进行交叉验证:简单地将cross_val_score()
与cv设置为5之类的数字,并与KFold
一起进行混洗。使用train_test_split()
将数据分为训练集和测试集后,将模型拟合到训练集上
例如
val_score = cross_val_score(model, X_train, y_train, cv=5)
和
cv = KFold(n_splits=5, shuffle=True)
val_score_with_shuffling = cross_val_score(model, X_train, y_train, cv=cv)
val_score_with_shuffling
比val_score
低得多,但是我不清楚为什么对数据进行混排会大大降低得分。我尝试过使用带混洗的迭代交叉验证,并且同样得到非常低的分数。这是什么指示?我应该何时使用带洗牌的迭代交叉验证?