我想在python中使用svm分类器找出错误率,我正在采取的方法来完成相同的方法是:
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
模块中向其传递您喜欢的评分函数:
http://scikit-learn.org/dev/modules/cross_validation.html
在此处使用sklearn.metrics.accuracy_score
Doc。
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)