我无法从sklearn库导入cross_validation;我使用sklearn版本0.20.0
from sklearn import cross_validation
稍后在代码中:
features_train, features_test, labels_train, labels_test = cross_validation.train_test_split(word_data, authors, test_size=0.1, random_state=42)
错误:
Traceback (most recent call last):
File "D:\me\M.Sc\Udacity_ML_course\ud120-projects- master\naive_bayes\nb_author_id.py", line 16, in <module>
from email_preprocess import preprocess
File "../tools/email_preprocess.py", line 8, in <module>
from sklearn import cross_validation
ImportError: cannot import name cross_validation
答案 0 :(得分:4)
cross_validation
曾经作为Scikit软件包存在*,但在某些时候已被弃用。
如果您正在寻找train_test_split
,如代码所示,它位于model_selection
中:
from sklearn import model_selection
features_train, features_test, labels_train, labels_test = model_selection.train_test_split(
word_data, authors, test_size=0.1, random_state=42)
*看起来好像在0.18中发生了变化。
答案 1 :(得分:3)
发生这种情况是因为cross_validation
中没有sklearn
对象。您可能正在寻找更像cross_validate
函数的东西。您可以通过
from sklearn.model_selection import cross_validate
但是,您无需导入任何交叉验证软件即可执行训练测试拆分,因为这只会从数据中随机抽样。试试
from sklearn.model_selection import train_test_split
之后
features_train, features_test, labels_train, labels_test = train_test_split(word_data, authors, test_size=0.1, random_state=42)
答案 2 :(得分:3)
以我为例,我使用的是Udacity课程中的一些文件,该课程使用的是sklearn的旧版本。与其花费不必要的时间来重新格式化代码用法以满足所有依赖关系的最新版本,较容易安装旧版本。
之所以可行是因为他们提供了requirements.txt文件。
python -m pip install -r requirements.txt
答案 3 :(得分:0)
就我而言,我还尝试安装旧版本的sklearn,这是'Intro to Machine Learning' Udacity课程的小型项目所必需的。
我在Windows 10上的Python 2环境中使用Miniconda 3。
不幸的是,@ Ben B的pip
方法对我不起作用。我遇到了类似scipy github issue中的错误的错误:
Installing collected packages: scipy Running setup.py install for scipy ... error
Complete output from command "c:\program files\python\2.x\python.exe" -u -c "import setuptools, tokenize;__file__='c:\\users\\reacodes\\appdata\\local\\temp\\pip-build-jzv_lz\\scipy\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\reacodes\appdata\local\temp\pip-mqeonc-record\install-record.txt
--single-version-externally-managed --compile:
lapack_opt_info:
openblas_lapack_info:
libraries openblas not found in ['c:\\program files\\python\\2.x\\lib', 'C:\\', 'c:\\program files\\python\\2.x\\libs']
NOT AVAILABLE
lapack_mkl_info:
mkl_info:
libraries mkl,vml,guide not found in ['c:\\program files\\python\\2.x\\lib', 'C:\\', 'c:\\program files\\python\\2.x\\libs']
NOT AVAILABLE
...
因此,我尝试了以下answer中所述的另一种使用conda
的方法:
conda install -c free scikit-learn=0.18.0