首页 文章

scikit-学习一类课程的指标

提问于
浏览
0

我们在9个 class 和一个特殊的'others' class 上使用 scikit-learn==0.15.2 和训练 LinearSVC . 'others'类包含数据集中的任何内容,这些内容不适合我们尝试分类的9个重要类 .

我们希望仅在9个类上获得平均微观/宏观精度/召回/ f1指标,而不使用“其他”类,以便为我们的分类器获得性能估计 .

我们在内置的scikit metrics 函数中找不到任何支持 . 尝试将标签限制为仅9(https://github.com/scikit-learn/scikit-learn/issues/3123)时,甚至 classification_report 函数也存在问题 .

这种缺乏支持是否表明我们的基本方法不正确?在衡量绩效时,我们应该包括“他人”吗?

编辑:请注意,我们的消费者仅在我们预测9个类别中的一个时才使用我们的预测 . 如果我们预测“其他人”,我们的输出会被丢弃,而另一个模型则会被使用 .

2 回答

  • 2

    简而言之 yes, you should include each class . 为什么你会忽略(可能是最大的)课程?即使它只是噪声,分类器性能实际上能够将噪声与重要类别区分开来也是至关重要的 . 可能存在您对"others"类不感兴趣的情况(在误报无关的情况下)但这些情况非常罕见,因此不会直接在scikit-learn的指标模块中实现 .

  • 1

    为什么不使用混淆矩阵http://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html

    基于该矩阵,您可以创建自己的指标

相关问题