'GridSearchCV' 对象没有属性 'support_vectors_'

'GridSearchCV' object has no attribute 'support_vectors_'

我正在尝试使用 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

如何解决这个问题?

那是因为 GridSearchCV 不是 SVC,而是 包含 一个 SVC目的。这就是它没有 support_vectors_ 属性并抛出错误的原因。

要访问 GridSearchCV 内的 SVC,请使用其 best_estimator_ 属性。所以而不是

clf.support_vectors_

致电:

clf.best_estimator_.support_vectors_

为了安全起见,在实例化 GridSearchCV 时包含 refit=True