Объект 'GridSearchCV' не имеет атрибута 'support_vectors_' - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь найти лучшие параметры, используя GridSearch, а затем также найти векторы поддержки, используя лучшие параметры.

Вот код:

tuned_parameters = [{'kernel': ['linear'], 'C': [0.00001,0.0001,0.001,0.1,1, 10, 100, 1000],
                     'decision_function_shape':["ovo"]}]
clf = GridSearchCV(SVC(), tuned_parameters, cv=5)
clf.fit(X, Y)
print("Best parameters set found on development set:")
print()
print(clf.best_params_)
# Predicting on the unseen test data
predicted_test = clf.predict(X_test)

# Calculating Accuracy on test data
accuracy_test=accuracy_score(Yt, predicted_test)
support_vec=clf.support_vectors_
print(support_vec)

Ошибка:

 AttributeError: 'GridSearchCV' object has no attribute 'support_vectors_'

sklearn 0.21.2

Как решить эту проблему?

1 Ответ

1 голос
/ 02 октября 2019

Это потому, что GridSearchCV не SVC, а содержит SVC объект. Вот почему он не имеет атрибута support_vectors_ и выдает ошибку.

Чтобы получить доступ к SVC внутри GridSearchCV, используйте его атрибут best_estimator_. Поэтому вместо

clf.support_vectors_

Звоните:

clf.best_estimator_.support_vectors_

Чтобы быть в безопасности, добавьте refit=True при создании экземпляра GridSearchCV.

...