调用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的比例划分好数据集啦: