文本分类/机器学习:我是否也需要一个“默认”类别?

在我的作业中,我需要制作一个机器学习程序,完成以下任务:

该程序的输入是一个建筑计划(以PDF文本形式),主要是桥梁和水闸的项目。机器学习程序将PDF中的每句话作为一个样本(句子中的单词作为特征),并需要将每个样本/句子分类到以下类别之一:硬件相关和软件相关。(我使用了朴素贝叶斯算法结合TF-IDF。)

然而,正如你所能想象的,也有很多与硬件和软件都不相关的句子。我是否需要创建一个单独的“默认/无关”类别,这样总共有三个类别?或者最好只保留这两个类别,并根据它们的概率进行分类?例如;如果一句话被分类为硬件的概率为0.6,那么我会忽略它。但如果结果是0.8或更高,那么我会将其分类为硬件。


回答:

你需要在训练集中使用无关的句子,我将通过一个例子来解释原因:

如果你有一个三类分类问题,你可以得到这样的输出:无关95% 硬件4% 软件1%

成为硬件的可能性是成为软件的4倍。但显然你会选择无关。

如果你使用一个两类数据集,你会得到这样的输出:硬件80% 软件20%

成为硬件的可能性再次是成为软件的4倍,但这两个百分比必须总和为100%,因为分类器认为这两种可能性构成了整个宇宙。

你有两个不同的选择:

1 – 三类分类问题(硬件,软件,无关)

2 – 两个分类器的两类分类问题:

分类器1 -> 正类硬件,负类:软件 + 无关

分类器2 -> 正类软件,负类:硬件 + 无关

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注