使用 sklearn 找出错误率

Posted

技术标签:

【中文标题】使用 sklearn 找出错误率【英文标题】:Find out error rate using sklearn 【发布时间】:2012-05-06 07:51:56 【问题描述】:

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

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

但是,这种方法行不通。 sklearn 的 score 函数也给出了平均准确率......但是,我不能使用它,因为我想完成交叉验证,然后找到错误率。请在 sklearn 中建议一个合适的函数来找出错误率。

【问题讨论】:

svm.predict 不给你分类的输出吗?为什么取平均值会做任何有用的事情? 【参考方案1】:

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

【讨论】:

【参考方案2】:

如果您想交叉验证分数,请使用sklearn.cross_validation.cross_val_score 实用函数并将sklearn.metrics 模块中您喜欢的评分函数传递给它:

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

【讨论】:

【参考方案3】:

使用sklearn.metrics.accuracy_scoreDoc 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)

【讨论】:

这是分类错误,多少分类正确。

以上是关于使用 sklearn 找出错误率的主要内容,如果未能解决你的问题,请参考以下文章

使用 sklearn MLP.predict_proba() 函数时找出类的标签

导入sklearn时出现conda sklearn错误

自动sklearn安装错误

使用sklearn进行线性回归时遇到值错误

使用 sklearn 进行 PCA 预测和错误

GridsearchCV sklearn 中的错误