Python机器学习:train_test_split()划分数据集

调用sklearn里面的model_selection包的train_test_split()函数可以一行代码划分好数据集。

包名:

from sklearn.model_selection import train_test_split

代码:

x = data.drop(['Exited'],axis=1)
y = data['Exited']
X_train, X_test, y_train, y_test = train_test_split(x,y,test_size = 0.2, random_state = 0)

代码讲解:

x是经过特征工程编码好的数据,一般训练集和测试集一起做编码;但还没有标准化,因为标准化要放在划分数据集后面进行。

drop()函数把除了因变量以外的自变量都保留了,保存在数据集x里。

y是结果,是因变量,比如是否留存、是否购买等。

train_test_split()方法括号里面的顺序是(自变量数据,因变量数据,测试集划分比例test_size,随机种子random_state )。

test_size 设置划分的比例,这里是预留20%的数据作为测试集。

random_state 是随机种子,可以随便写一个数字(详细作用见最后面“随机种子的作用”)。

X_train, X_test, y_train, y_test的顺序是:训练集的自变量、测试集的自变量、训练集的因变量、测试集的因变量。

运行结果,按0.2的比例划分好数据集啦:

随机种子的作用:一般随机的结果是和系统时间有关的,在不同的时间运行,得到的数据分组会不一样。这样就会导致即便还没开始调参,每次运行都能得到不同的准确率,就没办法判断是不是通过优化数据集或者调参带来的影响了。设置了随机种子之后,每次重新运行之后随机分的结果是一样的。有了确定的随机种子,别人在拿到你的代码的时候就可以复现得到一样的结果了。 

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值