2017-04-10 18 views
0
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沒有項目

classifier=GridSearchCV(svm,cv,parameters) 
classifier.fit(X_train,y_train) 

此評論之後,錯誤是: 「元組」對象有沒有屬性「項目」

我不知道爲什麼會這樣。是否因爲「參數」應該只有一個參數?

+0

發佈*完整堆棧跟蹤* –

回答

1

當你實例這裏GridSearchCV實例:

classifier=GridSearchCV(svm,cv,parameters) 

您包括個人簡歷作爲第二個位置參數。 cv是一個關鍵字參數,第二個位置是param_grid(大概你打算傳遞參數)。我在這裏的API的說明此基礎: http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html

嘗試構建像這樣:

classifier=GridSearchCV(svm,parameters,cv=cv) 

如果失敗,它將會真正有助於看看你會得到整個回溯。

+0

這是否最終爲您工作? – JacobIRR