最近使用python进行数据集的划分。使用到了交叉验证(Cross-validation),需要整理sklearn.model_selection.KFold函数的参数设定和使用实例。整理如下:
1、Cross-validation 交叉验证
附注:官方文档链接:https://scikit-learn.org/dev/modules/cross_validation.html#cross-validation
交叉验证的基本思想:把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(train set),另一部分做为验证集(validation set or test set),首先用训练集对模型进行训练(可以使用不同的机器学习训练方法),得到相应模型(如模型A)。再利用验证集来测试模型(A)的泛化误差。另外,现实中数据总是有限的,为了对数据形成重用,从而提出k-折叠交叉验证。下图为网上传播较多的5折交叉验证图示。

对回归问题或者分类问题,经过k折交叉验证之后,计算k次求得的分类率的平均值,作为该模型或者假设函数的真实分类率。Cross-validation能有效的避免过学习以及欠学习状态的发生,结果也比较具有说服性。