sklearn学习--数据划分

数据划分

我们可以使用交叉验证或其他划分数据集的方法对数据集多次划分,以得出模型平均的性能而不是偶然结果。sklearn 有很多划分数据集的方法,它们都在model_selection 里面,常用的有

  • K折交叉验证:
    • KFold 普通K折交叉验证
    • StratifiedKFold(保证每一类的比例相等)
  • 留一法:
    • LeaveOneOut (留一)
    • LeavePOut (留P验证,当P = 1 时变成留一法)
  • 随机划分法:
    • ShuffleSplit (随机打乱后划分数据集)
    • StratifiedShuffleSplit (随机打乱后,返回分层划分,每个划分类的比例与样本原始比例一致)

以上方法除了留一法都有几个同样的参数:

  • n_splits:设置划分次数
  • random_state:设置随机种子

以上的划分方法各有各的优点,留一法、K折交叉验证充分利用了数据,但开销比随机划分要高,随机划分方法可以较好的控制训练集与测试集的比例。(通过设置train_size参数)。关于划分数据集的使用可以参照上面例子中的ShuffleSplit的用法,其他的函数使用方法大同小异,详细可查看官方文档。

原文地址:https://www.cnblogs.com/huangmouren233/p/14912539.html