TypeError: __init__() got an unexpected keyword argument 'shuffle'
TypeError: __init__() got an unexpected keyword argument 'shuffle'
我在 python 2.6.6 中运行代码时遇到此错误。 运行 in Python 3.4.3
没有问题
usr/lib64/python2.6/site-packages/sklearn/feature_selection/univariate_selection.py:319: UserWarning: Duplicate scores. Result may depend on feature ordering.There are probably duplicate features, or you used a classification score for a regression task.
warn("Duplicate scores. Result may depend on feature ordering."
Traceback (most recent call last):
File "classification.py", line 31, in <module>
main()
File "classification.py", line 15, in main
tm.optimaltrain(conf)
File "/axp/gabm/npscnnct/dev/getThemes/textminer/textminer/classify.py", line 121, in optimaltrain
score = self.cv(X,y,model)
File "/axp/gabm/npscnnct/dev/getThemes/textminer/textminer/classify.py", line 140, in cv
skf = cross_validation.StratifiedKFold(y, n_folds=self.cv_folds, shuffle=True)
TypeError: __init__() got an unexpected keyword argument 'shuffle'
代码:
def cv(self, X, y, model):
y_true = []
y_pred = []
skf = cross_validation.StratifiedKFold(y, n_folds=self.cv_folds, shuffle=True)
for train_index, test_index in skf:
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
model.fit(X_train, y_train)
y_pred += list(model.predict(X_test))
y_true += list(y_test)
但是当我从代码中删除 Shuffle=True
时它运行良好。我使用的模块是 scipy 0.11.0、nltk 2.0.1、sklearn 0.14.1
请指教。
谢谢
这是您的 sklearn
版本 (0.14
) 的来源:https://github.com/scikit-learn/scikit-learn/blob/0.14.X/sklearn/cross_validation.py#L391
我已经链接到 StratifiedKFold
上 init 的实际行 - 这表明没有 shuffle
关键字参数。
升级到 v 0.15
,它确实有 shuffle
(如下所示:https://github.com/scikit-learn/scikit-learn/blob/0.15.X/sklearn/cross_validation.py#L399)。
我假设你在 Py3
上的 sklearn
版本是 0.15
?
在 sklearn 0.14 中,cross_validation.StratifiedKFold()
没有关键字参数 shuffle
。显然,它只是在更高版本中添加的(实际上是 0.15)。
您可以在分层之前更新 sklearn 或自己打乱输入(例如使用 random.shuffle()
)。
我在 python 2.6.6 中运行代码时遇到此错误。 运行 in Python 3.4.3
没有问题usr/lib64/python2.6/site-packages/sklearn/feature_selection/univariate_selection.py:319: UserWarning: Duplicate scores. Result may depend on feature ordering.There are probably duplicate features, or you used a classification score for a regression task.
warn("Duplicate scores. Result may depend on feature ordering."
Traceback (most recent call last):
File "classification.py", line 31, in <module>
main()
File "classification.py", line 15, in main
tm.optimaltrain(conf)
File "/axp/gabm/npscnnct/dev/getThemes/textminer/textminer/classify.py", line 121, in optimaltrain
score = self.cv(X,y,model)
File "/axp/gabm/npscnnct/dev/getThemes/textminer/textminer/classify.py", line 140, in cv
skf = cross_validation.StratifiedKFold(y, n_folds=self.cv_folds, shuffle=True)
TypeError: __init__() got an unexpected keyword argument 'shuffle'
代码:
def cv(self, X, y, model):
y_true = []
y_pred = []
skf = cross_validation.StratifiedKFold(y, n_folds=self.cv_folds, shuffle=True)
for train_index, test_index in skf:
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
model.fit(X_train, y_train)
y_pred += list(model.predict(X_test))
y_true += list(y_test)
但是当我从代码中删除 Shuffle=True
时它运行良好。我使用的模块是 scipy 0.11.0、nltk 2.0.1、sklearn 0.14.1
请指教。 谢谢
这是您的 sklearn
版本 (0.14
) 的来源:https://github.com/scikit-learn/scikit-learn/blob/0.14.X/sklearn/cross_validation.py#L391
我已经链接到 StratifiedKFold
上 init 的实际行 - 这表明没有 shuffle
关键字参数。
升级到 v 0.15
,它确实有 shuffle
(如下所示:https://github.com/scikit-learn/scikit-learn/blob/0.15.X/sklearn/cross_validation.py#L399)。
我假设你在 Py3
上的 sklearn
版本是 0.15
?
在 sklearn 0.14 中,cross_validation.StratifiedKFold()
没有关键字参数 shuffle
。显然,它只是在更高版本中添加的(实际上是 0.15)。
您可以在分层之前更新 sklearn 或自己打乱输入(例如使用 random.shuffle()
)。