在使用scikit-learn實現線性SVM時存在屬性錯誤問題。我正在使用通過RFECV方法進行交叉驗證的線性分類器,並且我無法訪問SVC的任何屬性。不確定它是否與特徵選擇或基本模型有關。sklearn中的屬性錯誤svm.SVC
model = svm.SVC(kernel='linear')
selector=RFECV(model)
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=pct_test)
selector=selector.fit(X_train, Y_train)
my_prediction = selector.predict(X_test)
f1.append(metrics.f1_score(Y_test, my_prediction))
kappa.append(metrics.cohen_kappa_score(Y_test, my_prediction))
precision.append(metrics.precision_score(Y_test, my_prediction))
recall.append(metrics.recall_score(Y_test, my_prediction))
print model.intercept_
print model.support_vectors_
print model.coef_
度量工作正常,屬性都失敗。 的錯誤信息是:
AttributeError的: 'SVC' 對象有 'intercept_'
文檔沒有屬性:http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC
題外話:我很新的面向對象編程。如果我缺少一個基本概念,請詳細說明或發送一個鏈接。
一個非常徹底的解釋。謝謝! – user7748226