转载:cheneyshark
机器环境:
scikit-learn==0.19.1
Python 2.7.13
train_test_split基本用法
在机器学习中,我们通常将原始数据按照比例分割为“测试集”和“训练集”,通常使用sklearn.cross_validation里的train_test_split模块用来分割数据。
简单用法如下:
X_train,X_test, y_train, y_test =cross_validation.train_test_split(train_data,train_target,test_size=0.4, random_state=0) # train_data:所要划分的样本特征集 # train_target:所要划分的样本结果 # test_size:样本占比,如果是整数的话就是样本的数量 # random_state:是随机数的种子。 # 随机数种子:其实就是该组随机数的编号,在需要重复试验的时候,保证得到一组一样的随机数。比如你每次都填1,其他参数一样的情况下你得到的随机数组是一样的。但填0或不填,每次都会不一样。
问题现象(废弃警告)
然而发现每次调用train_test_split模块时,总会出现废弃警告:
代码输入部分提示如下:
主要意思是说在0.18版本中,cross_validation被废弃了。但实际测试感觉功能并为受影响,可以正常使用,只是有提示信息。
如果实在觉得太烦可以尝试用如下方法解决。
解决方法:
改为从 sklearn.model_selection 中调用train_test_split 函数可以解决此问题。
补充:如果使用sklearn0.20版本的朋友,那么使用网格搜索(gridsearch)寻找最优参数模型的话,sklearn.grid_search.GridsearchCV类已经被移除了,只有通过sklearn.model_selection调用GridsearchCV。