我正在尝试使用SKLearn(版本0.18.1),如下所示:
from sklearn.model_selection import KFold
kfold = KFold(n_splits=5, random_state=100)
但我得到了这个奇怪的错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-17-b8dd4f5596be> in <module>()
----> 1 kfold = KFold(k=5, random_state=100)
2 results = cross_val_score(estimator, X, Y, cv=kfold)
3 print("Results: %.2f (%.2f) MSE" % (results.mean(), results.std()))
TypeError: __init__() got an unexpected keyword argument 'k'
我在这里查阅了文档:
http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.KFold.html
和n_splits
看起来像我应该能够传递的参数......
知道这里发生了什么/如何解决?
谢谢!
答案 0 :(得分:4)
打开终端(cmd)并在尝试导入sklearn之前尝试这些。
pip install -U scikit-learn
或者如果你安装了anaconda
conda install scikit-learn
或
conda update conda
conda update scikit-learn
还要确保你有n and和scipy:
pip install numpy
pip install scipy
安装scipy后重启python shell!
答案 1 :(得分:1)
您的Scikit-Learn版本存在问题,请尝试检查并查找正确的文档(here):
import sklearn
print(sklearn.__version__)
或者使用pip install -U scikit-learn
下载最新版本。
答案 2 :(得分:0)
在方括号中使用大写X。它对我有用。
from sklearn.model_selection import cross_val_score
accuracies = cross_val_score(estimator = classifier, X = x_train, y = y_train, cv = 10)