【发布时间】:2017-09-12 00:21:06
【问题描述】:
我打算试试这个link中的代码:
我从引用StratifiedKFold(n_splits=60) 的行中收到错误消息。谁能告诉我如何解决这个错误?
代码如下:
import numpy as np
from scipy import interp
import matplotlib.pyplot as plt
from itertools import cycle
from sklearn import svm, datasets
from sklearn.metrics import roc_curve, auc
from sklearn.cross_validation import StratifiedKFold
iris = datasets.load_iris()
X = iris.data
y = iris.target
X, y = X[y != 2], y
X, y
cv = StratifiedKFold(n_splits=6)
classifier = svm.SVC(kernel='linear', probability=True,
random_state=random_state)
mean_tpr = 0.0
mean_fpr = np.linspace(0, 1, 100)
这是错误:
TypeError Traceback (most recent call last)
<ipython-input-227-2af2773f4987> in <module>()
----> 1 sklearn.cross_validation.StratifiedKFold(n_splits=6)
2 #cv = StratifiedKFold(n_splits=6, shuffle=True, random_state=1)
3 classifier = svm.SVC(kernel='linear', probability=True,
4 random_state=random_state)
5
TypeError: __init__() got an unexpected keyword argument 'n_splits'
【问题讨论】:
-
sklearn.cross_validation.StratifiedKFold不是sklearn.model_selection.StratifiedKFold并且不采用相同的参数。 -
在链接中他们使用了
sklearn.model_selection.StratifiedKFold。但是您使用的是sklearn.cross_validation.StratifiedKFold。模块cross_validation已被弃用。我敢肯定你一定已经收到了警告。 -
@Vivek 我使用 sklearn.cross_validation.StratifiedKFold 的原因是我在使用 sklearn.model_selection.StratifiedKFold 时出错。使用 sklearn.cross_validation.StratifiedKFold 时我没有收到任何警告
-
@Shelly 我已经回答了你的问题。但我注意到的另一件事是你只是打了就跑。即提出问题,如果没有解决就评论答案,然后什么都没有。您既不接受解决问题的答案,也不评论您的问题是否已通过特定答案解决。
标签: python scikit-learn cross-validation