切分数据集(train_test_split),思路分享及手打代码和介绍sklearn中train_test_split,适合小白入门

本文详细介绍了如何切分数据集,包括切分的必要性、思路、封装成函数的步骤,并通过实例展示了如何使用sklearn的train_test_split函数。适合初学者了解数据集切分和随机种子的概念。
摘要由CSDN通过智能技术生成

本篇博客介绍train_test_split,步骤1-4是自己手打代码和思路分享,步骤5介绍如何使用sklearn中的train_test_split,步骤3有介绍随机种子哦,简单易懂,适合小白入门

1 切分数据集

前言:机器学习就是把数据扔进算法,训练出模型(参数),用模型对未知数据进行预测。

谈一谈为什么要切分数据集:
①如果直接把全部数据都扔给算法得到模型然后再对数据(用于训练模型的数据)进行预测这很容易预测得很好,但对于未知数据却不一定好。
好比:老师布置作业给你做再给你评讲,考试的题目是作业的题目,可想而知大家都会考得很好。但对于作业题目外的考试大家能否考好是未知的,因为有些同学完成作业的题而且把原理搞懂了这些同学对同类型的考试就会考高分;而有些同学只记住老师讲解的过程,不懂原理,这部分同学很容易考低分。
②为了避免这种情况,考试时应该出原理一样但题目不一样的试卷,去检验学生是否明白了原理。类比到机器学习的数据集也是一样的:用一部分数据去训练模型,用不同的数据去预测,看看这个模型是否好。

2 思路

  • 确定切分比例
  • 把数据的索引乱序
  • 按乱序的索引取出对应的索引
  • 按索引取数据集

① 把数据的索引乱序

shuffle_indexes = np.random.permutation(len(X))

② 按乱序的索引取出对应的索引

#按什么比例分割
test_ratio = 0.3
#测试集的大小
test_size = int(test_ratio * len(X))
#测试集的索引
test_indexes = shuffle_indexes
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值