ImportError: No module named sklearn.cross_validation
ImportError: No module named sklearn.cross_validation
我在 Ubuntu 14.04 中使用 python 2.7。我使用这些命令安装了 scikit-learn、numpy 和 matplotlib:
sudo apt-get install build-essential python-dev python-numpy \
python-numpy-dev python-scipy libatlas-dev g++ python-matplotlib \
ipython
但是当我导入这些包时:
from sklearn.cross_validation import train_test_split
它 returns 我这个错误:
ImportError: No module named sklearn.cross_validation
我需要做什么?
确保你有 Anaconda installed and then create a virtualenv using conda。这将确保所有导入工作
Python 2.7.9 |Anaconda 2.2.0 (64-bit)| (default, Mar 9 2015, 16:20:48)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
>>> from sklearn.cross_validation import train_test_split
它必须与将 cross_validation
sub-module 重命名和弃用为 model_selection
有关。尝试将 cross_validation
替换为 model_selection
可能是由于 sklearn.cross_validation 已弃用。
请将 sklearn.cross_validation 替换为 sklearn.model_selection
参考-
https://github.com/amueller/scipy_2015_sklearn_tutorial/issues/60
train_test_split 现在在 model_selection。只需输入:
from sklearn.model_selection import train_test_split
它应该有效
将数据集拆分为训练集和测试集
from sklearn.model_selection import train_test_split
我想交叉选择不再有效了。我们应该改用模型选择。可以写成运行,from sklearn.model_selection import train_test_split
就是这样。
过去:from sklearn.cross_validation
(此包在 0.18 版本中已弃用,从 0.20 开始更改为 from sklearn import model_selection
)。
现在:from sklearn import model_selection
示例 2:
过去:from sklearn.cross_validation import cross_val_score
(0.18 版已弃用)
现在:from sklearn.model_selection import cross_val_score
sklearn.cross_validation
已更改为
sklearn.model_selection
在此处查看文档:
https://scikit-learn.org/stable/modules/cross_validation.html
sklearn.cross_validation
现在更改为 sklearn.model_selection
只需使用
from sklearn.model_selection import train_test_split
我认为这会奏效。
cross_validation 前段时间已弃用,请尝试将其切换为 model_selection
sklearn.cross_validation
现在更改为 sklearn.model_selection
改变一下
sklearn.cross_validation
到
sklearn.model_selection
像这样更改代码
# from sklearn.cross_validation import train_test_split
from sklearn.model_selection import train_test_split
如果您的代码需要 运行 各种版本,您可以这样做:
import sklearn
if sklearn.__version__ > '0.18':
from sklearn.model_selection import train_test_split
else:
from sklearn.cross_validation import train_test_split
但这并不理想,因为您将包版本作为字符串进行比较,这通常有效但并非总是有效。如果您愿意安装 packaging
,这是一个更好的方法:
from packaging.version import parse
import sklearn
if parse(sklearn.__version__) > parse('0.18'):
from sklearn.model_selection import train_test_split
else:
from sklearn.cross_validation import train_test_split
train_test_split
是模块 sklearn.model_selection
的一部分,因此,您可能需要从 model_selection
导入模块
代码:
from sklearn.model_selection import train_test_split
cross_validation
不再可用。
尝试使用 model_selection
而不是 cross_validation
:
from sklearn.model_selection import train_test_split
我在 Ubuntu 14.04 中使用 python 2.7。我使用这些命令安装了 scikit-learn、numpy 和 matplotlib:
sudo apt-get install build-essential python-dev python-numpy \
python-numpy-dev python-scipy libatlas-dev g++ python-matplotlib \
ipython
但是当我导入这些包时:
from sklearn.cross_validation import train_test_split
它 returns 我这个错误:
ImportError: No module named sklearn.cross_validation
我需要做什么?
确保你有 Anaconda installed and then create a virtualenv using conda。这将确保所有导入工作
Python 2.7.9 |Anaconda 2.2.0 (64-bit)| (default, Mar 9 2015, 16:20:48)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
>>> from sklearn.cross_validation import train_test_split
它必须与将 cross_validation
sub-module 重命名和弃用为 model_selection
有关。尝试将 cross_validation
替换为 model_selection
可能是由于 sklearn.cross_validation 已弃用。 请将 sklearn.cross_validation 替换为 sklearn.model_selection
参考- https://github.com/amueller/scipy_2015_sklearn_tutorial/issues/60
train_test_split 现在在 model_selection。只需输入:
from sklearn.model_selection import train_test_split
它应该有效
将数据集拆分为训练集和测试集
from sklearn.model_selection import train_test_split
我想交叉选择不再有效了。我们应该改用模型选择。可以写成运行,from sklearn.model_selection import train_test_split
就是这样。
过去:from sklearn.cross_validation
(此包在 0.18 版本中已弃用,从 0.20 开始更改为 from sklearn import model_selection
)。
现在:from sklearn import model_selection
示例 2:
过去:from sklearn.cross_validation import cross_val_score
(0.18 版已弃用)
现在:from sklearn.model_selection import cross_val_score
sklearn.cross_validation
已更改为
sklearn.model_selection
在此处查看文档: https://scikit-learn.org/stable/modules/cross_validation.html
sklearn.cross_validation
现在更改为 sklearn.model_selection
只需使用
from sklearn.model_selection import train_test_split
我认为这会奏效。
cross_validation 前段时间已弃用,请尝试将其切换为 model_selection
sklearn.cross_validation
现在更改为 sklearn.model_selection
改变一下
sklearn.cross_validation
到
sklearn.model_selection
像这样更改代码
# from sklearn.cross_validation import train_test_split
from sklearn.model_selection import train_test_split
如果您的代码需要 运行 各种版本,您可以这样做:
import sklearn
if sklearn.__version__ > '0.18':
from sklearn.model_selection import train_test_split
else:
from sklearn.cross_validation import train_test_split
但这并不理想,因为您将包版本作为字符串进行比较,这通常有效但并非总是有效。如果您愿意安装 packaging
,这是一个更好的方法:
from packaging.version import parse
import sklearn
if parse(sklearn.__version__) > parse('0.18'):
from sklearn.model_selection import train_test_split
else:
from sklearn.cross_validation import train_test_split
train_test_split
是模块 sklearn.model_selection
的一部分,因此,您可能需要从 model_selection
代码:
from sklearn.model_selection import train_test_split
cross_validation
不再可用。
尝试使用 model_selection
而不是 cross_validation
:
from sklearn.model_selection import train_test_split