我正在通过Python Data Science Essentials (2nd Edition)工作。
本书提供以下代码:

chosen_random_state = 1
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.30, ran-dom_state=chosen_random_state)
print ("(X train shape %s, X test shape %s, \ny train shape %s, y test shape %s" \
% (X_train.shape, X_test.shape, y_train.shape, y_test.shape))
h1.fit(X_train,y_train)
print (h1.score(X_test,y_test))
当我尝试运行它时,出现以下错误:
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last) <ipython-input-137-c5136df13468> in <module>()
          1 chosen_random_state = 1
    ----> 2 X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.30, random_state=chosen_random_state)
          3 print ("(X train shape %s, X test shape %s, \ny train shape %s, y test shape %s" % (X_train.shape, X_test.shape, y_train.shape, y_test.shape))
          4 h1.fit(X_train,y_train)
          5 print (h1.score(X_test,y_test))

    NameError: name 'cross_validation' is not defined
我怀疑我可能必须导入一个书中没有提到的图书馆。我已经搜索了手册,但找不到此功能。这是我需要创建的功能,还是有人可以将我指向相关的库?

最佳答案

cross_validationsklearn子模块是deprecated。您应该使用sklearn.model_selection instead

from sklearn import model_selection

...
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.30, random_state=chosen_random_state)
...

关于python - Scikit学习(Python 3.5): Do I need to import a library to make this work?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43291548/

10-12 23:30
查看更多