Med*_*ata 3 python machine-learning scikit-learn k-fold
我试图了解如何使用交叉验证功能sklearn.model_selection.KFold。如果我定义(就像在本教程中一样)
from sklearn.model_selection import KFold
kf = KFold(n_splits=5, shuffle=False, random_state=100)
Run Code Online (Sandbox Code Playgroud)
我明白了
ValueError: Setting a random_state has no effect since shuffle is False.
You should leave random_state to its default (None), or set shuffle=True.
Run Code Online (Sandbox Code Playgroud)
这个错误是什么意思以及为什么需要设置random_state=Noneor shuffle=True?
在这种情况下,洗牌意味着数据在分成测试/训练之前首先被随机洗牌。这random_state将允许数据打乱的方式是可重复的。如果没有打开洗牌,则random_state没有任何意义。