train_test_split函数中random_state参数的含义

train_test_split函数中random_state参数的含义

前言

  train_test_split函数是在机器学习/深度学习算法中,用于划分数据集的函数,按一定的比例划分数据集为训练集和测试集。在使用该函数时,不太理解random_state参数的含义,通过查阅资料,了解其含义,并做记录。

train_test_split函数使用

train_test_split函数需要导包使用:

from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(features,target,test_size=0.2, random_state=1) 

random_state参数分析

  1. random_state等于不一样的值,获得的训练集和测试集的划分是不一样的。
  2. 通过查阅一些资料,发现很多文章都写random_state = 0 时,每次重新运行获得的训练集和测试集是不一样的,会随机划分。random_state = 非0(如1,23,100等任意非0数字)时,每次重新运行获得的训练集和测试集是一样的。
  3. 但是本人使用Jupyter Notebook 进行编程实验,发现无论random_state等于多少,一旦确定了一个值(0,1,2,5,100等),之后再重新运行程序,得到的训练集和测试集的划分都是一样的。但是random_state等于不同的值,就会有不同的划分结果,只是这个划分结果是确定的。

实验过程

刚开始random_state = 0,获得的结果如下:
random_state = 0
random_state = 1,获得的结果如下:
random_state = 1
random_state = 10,获得的结果如下:
random_state = 10

结论总结

  random_state参数的值,是设置的随机种子,train_test_split函数根据不同的随机种子,将数据集划分为训练集和测试集。如果数据集没有改变,随机种子数(即random_state值)没有改变,那么划分出来的训练集和测试集就不会改变。数据集和随机种子数改变其中一个值,那划分结果就会改变。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值