scikit-learn 0.18中的cross_validation模块被移除

Posted tan2810

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scikit-learn 0.18中的cross_validation模块被移除相关的知识,希望对你有一定的参考价值。

环境:scikit-learn 0.18 , python3

from sklearn.cross_validation import train_test_split 
from sklearn.grid_search import GridSearchCV 

报出如下警告:

from sklearn.grid_search import GridSearchCV 
/usr/lib/python3.4/site-packages/sklearn/cross_validation.py:44: 
DeprecationWarning: This module was deprecated in version 0.18 in 
favor of the model_selection module into which all the refactored 
classes and functions are moved. Also note that the interface of the 
new CV iterators are different from that of this module. This module 
will be removed in 0.20. “This module will be removed in 0.20.”, 
DeprecationWarning) 
/usr/lib/python3.4/site-packages/sklearn/grid_search.py:43: 
DeprecationWarning: This module was deprecated in version 0.18 in 
favor of the model_selection module into which all the refactored 
classes and functions are moved. This module will be removed in 0.20. 
DeprecationWarning) from sklearn.cross_validation import 
train_test_split 
/usr/lib/python3.4/site-packages/sklearn/cross_validation.py:44: 
DeprecationWarning: This module was deprecated in version 0.18 in 
favor of the model_selection module into which all the refactored 
classes and functions are moved. Also note that the interface of the 
new CV iterators are different from that of this module. This module 
will be removed in 0.20. “This module will be removed in 0.20.”, 
DeprecationWarning)

解决方法:

该模块在0.18版本中被弃用,支持所有重构的类和函数都被移动到的model_selection模块

from sklearn.model_selection import GridSearchCV

from sklearn.model_selection import train_test_split

警告

DeprecationWarning) 
/usr/lib/python3.4/site-packages/sklearn/utils/validation.py:395: 
DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 
and will raise ValueError in 0.19. Reshape your data either using 
X.reshape(-1, 1) if your data has a single feature or X.reshape(1, -1) 
if it contains a single sample.

解决方法

clf.predict([]) 规范输入

以上是关于scikit-learn 0.18中的cross_validation模块被移除的主要内容,如果未能解决你的问题,请参考以下文章

交叉验证:来自 scikit-learn 参数的 cross_val_score 函数

scikit-learn:cross_val_predict 仅适用于分区

推荐系统使用SciKit-Learn的cross_validate,缺少1个必需的位置参数:'y_true'

使用 cross_val_predict 与 cross_val_score 时,scikit-learn 的分数不同

Scikit-learn cross val得分:数组的索引太多了

Jupyter笔记本中的旧sklearn版本