调用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的比例划分好数据集啦:
![](https://img-blog.csdnimg.cn/9f04f48809ed421ca7fe9739a7ec62db.png)
随机种子的作用:一般随机的结果是和系统时间有关的,在不同的时间运行,得到的数据分组会不一样。这样就会导致即便还没开始调参,每次运行都能得到不同的准确率,就没办法判断是不是通过优化数据集或者调参带来的影响了。设置了随机种子之后,每次重新运行之后随机分的结果是一样的。有了确定的随机种子,别人在拿到你的代码的时候就可以复现得到一样的结果了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)