在实际的机器学习操作中,经常使用交叉验证操作,即将数据集分为训练集与测试集,再将训练集进行分割,例如,分割为三份,其中一与二建模,用三来验证效果。一三建模用二来验证效果。二三建模用一来验证效果。就这样,可以减少离群点产生的影响,时间里的模型更为有效。
而Python有专门的函数进行分割。
from sklearn.cross_validation import train_test_split
引入包中的train_test_split函数。
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size = 0.3, random_state = 0)
共有四个返回值X_train;X_test;y_train;y_test。其中X,y为需要分割的变量,test_size = 0.3表示分割的比例,random_state=0 表示每次随机的结果都是一样的。