使用sklearn查找错误率

时间:2012-04-25 15:33:21

标签: python machine-learning svm scikits scikit-learn

我想在python中使用svm分类器找出错误率,我正在采取的方法是:

  1-svm.predict(test_samples).mean()

但是,这种方法不起作用。另外sklearn的得分函数给出了平均准确度......但是,我不能使用它,因为我想完成交叉验证,然后找到错误率。请在sklearn中建议一个合适的功能,以找出错误率。

3 个答案:

答案 0 :(得分:4)

假设您在向量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

答案 1 :(得分:3)

如果要交叉验证分数,请使用sklearn.cross_validation.cross_val_score实用程序功能,并将其从sklearn.metrics模块中传递给您喜欢的评分函数:

http://scikit-learn.org/dev/modules/cross_validation.html

答案 2 :(得分:1)

使用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)