如何评估我自己的文本分类器

Posted

技术标签:

【中文标题】如何评估我自己的文本分类器【英文标题】:How to evaluate my own text classifier 【发布时间】:2016-09-06 16:59:02 【问题描述】:

我根据一些语言学理论编写了自己的文本分类器。分类器的最终结果是文章标题和二进制类别的元组对。

我还在我的 Golden 标准语料库上使用了 NB 分类器,并使用 Python 中的 Sci-kit 学习库评估了它的性能。但是,我正在努力弄清楚如何评估我自己的分类器的性能。 :S

我非常感谢您的想法,因为我不是经验丰富的机器学习者。

谢谢,

古兹德

【问题讨论】:

从sklearn 中选择一个合理的指标并准备好您的数据以使其兼容。如果你在你的 NB-CV 中选择了一个不错的,那么你可以再拿一次 【参考方案1】:

要评估分类器,最常见的指标是准确度,但没有适用于所有可能场景的经验法则,因此我建议您阅读一些有关分类器评估指标的信息。另请阅读评估方法。

如果您没有时间,请暂时坚持准确性和交叉验证,但请务必了解给定指标的含义、您的方法的含义、如何阅读混淆矩阵、每个指标和方法的优缺点,尤其是它的局限性。

Scikit Learn 的指标参考页面:Link

Scikit Learn 的交叉验证用户指南:Link

你说你有你的黄金标准。你说你有你的模型。然后,您只需要选择一个指标和一个评估方法。

您的模型将在给定输入(一组特征)的情况下预测类别/目标。然后将预测与您的基本事实/黄金标准进行比较。

【讨论】:

感谢您的回复,我现在计算了分类器的准确度。我有点着急。但是,我也想使用余弦相似度分数进行 kNN 分类,但不知道如何将余弦相似度转换为与 kNN 一起使用的距离。我在网上找不到任何有用的东西。有没有人有任何建议。提前致谢。 :) 余弦相似度是一个成对度量,所以它不直接用于分类。但是,您可以将 KNN 分类器直接用于您的设计矩阵(矢量化文本语料库),Scikit Learn 提供了一个:scikit-learn.org/stable/modules/generated/… 只是附加评论。您想要衡量文档的相似程度的原因是什么?如果您想按相似度对文档进行排名,那么这是一个典型的信息检索问题(类似于搜索引擎)。让我知道你是否愿意遵循这个方向,因为那样你就不需要分类器了。 我正在构建一个基于理论上的种子词的词典,以便根据作者在文本中的定位对文章进行分类。理论上有三个等级,最低等级有九个类别。我对每个类别都有词典,但目前我将文章分类为最高的二进制级别。所以它的二进制分类问题。

以上是关于如何评估我自己的文本分类器的主要内容,如果未能解决你的问题,请参考以下文章

[视频] 数据超市对于文本数据挖掘的流程 机器学习如何搭建文本分类器

如何使用分类器算法对单个文本进行分类

教程 | 用TensorFlow Estimator实现文本分类

如何正确转换和“拟合”文本分类器的值?

如何改进我的文本主题分类器?

如何使用火花朴素贝叶斯分类器进行 IDF 文本分类?