Python 使用交叉验证时,Tuple没有项

Python 使用交叉验证时,Tuple没有项,python,python-2.7,Python,Python 2.7,我得到正确的输出,直到这里 from sklearn import datasets import numpy as np iris = datasets.load_iris() X = iris.data[:,[2,3]] y = iris.target from sklearn.cross_validation import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_siz

我得到正确的输出,直到这里

from sklearn import datasets
import numpy as np
iris = datasets.load_iris()
X = iris.data[:,[2,3]]
y = iris.target

from sklearn.cross_validation import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)

from sklearn.svm import SVC
svm=SVC(kernel='linear',C=7.5)    
from sklearn.cross_validation import ShuffleSplit
cv = ShuffleSplit(X_train.shape[0], n_iter=10, test_size=0.2, random_state=0)

from sklearn.grid_search import GridSearchCV
parameters={'kernel':('linear','rbf'),'C':[1, 10, 100, 1000],'gamma': [0.001, 0.0001]}
此注释后的错误为: “tuple”对象没有属性“items”


我不知道为什么会这样。是因为“参数””应该只有一个参数吗?

当您在此处实例化GridSearchCV实例时:

classifier=GridSearchCV(svm,cv,parameters)
classifier.fit(X_train,y_train)
将cv作为第二个位置参数。cv是一个关键字参数,第二个位置参数是param_grid(大概是您打算传递给参数的参数)。我在这里是基于API的描述:

尝试这样构造:

classifier=GridSearchCV(svm,cv,parameters)
如果这失败了,那么查看您得到的整个回溯将非常有帮助

发布完整的堆栈跟踪
classifier=GridSearchCV(svm,parameters,cv=cv)