轉載: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。