SkLearn模型用于文本多类分类

问题描述 投票:1回答:1

我有一个分类器多类,使用Sklearn库提供的LinearSVC模型进行训练。该模型提供了Decision_function方法,我将其与numpy库函数一起使用以正确解释结果集。

但是,我不明白为什么该方法总是尝试将总概率(在我的情况下为1)分配到每个可能类之间。

我期望分类器具有不同的行为。

例如,我假设我有一小段这样的文字:

“有许多类型的病毒和细菌会引起疾病。”

但是我的分类器受过三种类型的文本训练,比如说“数学”,“历史”和“技术”。

所以,我认为在对这三个主题进行分类时,这三个主题中的每一个都有非常接近于零(因此远不等于1)的概率。

是否有更合适的方法或模型来获得我刚刚描述的结果?

我使用“ decision_function”的方式是否错误?

有时,您的文本可能与用于训练分类器的任何主题无关,反之亦然,一个以上主题的概率可能约为1。

我认为我需要对这些问题有所了解(文本分类,无二进制分类等)

非常感谢您的帮助!

python machine-learning scikit-learn artificial-intelligence text-classification
1个回答
0
投票

您的问题有多个部分,我将尽力回答。

  1. 我不明白为什么这种方法总是尝试分配总概率?

这是大多数ML模型的本质,必须将给定的示例放入某个类中,并且每个模型都具有某种机制来计算给定的数据点属于某个类,而无论哪个类具有您预测相应类别的可能性最高。

为了解决您的问题,即示例的存在不属于任何类,您可以在训练模型时始终创建一个名为others的伪类,即使您的数据点不对应,也可以通过这种方式到您的任何实际类,例如,根据您的示例的mathshistorytechnology,它将被合并到other类。

  1. 解决您的数据点可能属于多个类的问题。

这通常是multi-label classification的用途。

希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.