我想找出使用SVM分類在Python中的錯誤率,那我取來完成同樣的方法找出錯誤率:使用sklearn
1-svm.predict(test_samples).mean()
然而,這種方法是行不通的。此外,sklearn的得分函數給出了平均準確度......但是,我無法使用它,因爲我想完成交叉驗證,然後找到錯誤率。請在sklearn中建議一個合適的函數來找出錯誤率。
我想找出使用SVM分類在Python中的錯誤率,那我取來完成同樣的方法找出錯誤率:使用sklearn
1-svm.predict(test_samples).mean()
然而,這種方法是行不通的。此外,sklearn的得分函數給出了平均準確度......但是,我無法使用它,因爲我想完成交叉驗證,然後找到錯誤率。請在sklearn中建議一個合適的函數來找出錯誤率。
假設你有一個載體y_test
真實標籤:
from sklearn.metrics import zero_one_score
y_pred = svm.predict(test_samples)
accuracy = zero_one_score(y_test, y_pred)
error_rate = 1 - accuracy
如果你想穿越驗證分數,使用sklearn.cross_validation.cross_val_score
效用函數,並通過它,你從sklearn.metrics
模塊喜歡打分函數:
使用sklearn.metrics.accuracy_score
Doc here。
from sklearn.metrics import accuracy_score
#create vectors for actual labels and predicted labels...
my_accuracy = accuracy_score(actual_labels, predicted_labels, normalize=False)/float(actual_labels.size)
這是分類錯誤,它分類正確多少。 – 2015-05-14 19:18:38
不是svm.predict給你一個分類輸出嗎?爲什麼要採取意思做有用的事情? – dfb 2012-04-25 15:42:44