sklearn.cross_validation 0.18版本廢棄警告及解決方法


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM