sklearn实现数据集划分

本文详细介绍了sklearn中数据集划分的方法,包括留出法的ShuffleSplit和train_test_split,以及交叉验证的KFold和StratifiedKFold。强调了在分类问题中StratifiedKFold的分层抽样特性,并通过实例展示了不同方法的使用。此外,还提及了自助法和建模中一般的数据划分策略。
摘要由CSDN通过智能技术生成

1.留出法可用sklearn包ShuffleSplittrain_test_split实现

2.ShuffleSplit可以实现多次随机划分,train_test_split只能实现一次

3.random_state相同时,ShuffleSplit的首次切分结果与train_test_split完全一致

4.交叉验证法可用KFold、StratifiedKFold实现,逻辑一致,后者针对分类问题实现分层抽样

5.sklearn建模与调参的包cross_validateGridSearchCV的数据集划分逻辑一致

6.如果是分类问题,cross_validate采取StratifiedKFold划分方法,其他都是采取KFold方法

小编在文章 机器学习之模型评估 介绍了数据集划分的方法,本文从就专门针对数据集划分的sklearn实现做一个详细介绍。

注:sklearn的函数包实在太多,有纰漏的地方还望指正

1.留出法

sklearn实现留出法的主要有两个包:ShuffleSplit和train_test_split。先给结论:

1.train_test_split实行单次数据集划分,通过参数random_state选定种子数

2.对于分类问题,train_test_split通过stratify参数实现分层抽样.

2.ShuffleSplit实行多次随机切分,默认10次,如果random_state参数与train_test_split相同,则第一次的切分方式与train_test_split完全一致

3.ShuffleSplit每一次的测试集训练集样本选取都是随机的

train_test_split是用得最多的数据集划分包,它的参数有五个:

  • *arrays:要切分的数据集,通过传入两个,X数据集和目标y

  • test_size:测试集样本大小

  • random_state:随机种子数

  • shuffle:是否要对数据集随机打乱

  • stratify:可以理解为分层抽样的设置值,通过针对分类问题的目标y</

  • 7
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

整得咔咔响

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值