在我的作业中,我需要制作一个机器学习程序,完成以下任务:
该程序的输入是一个建筑计划(以PDF文本形式),主要是桥梁和水闸的项目。机器学习程序将PDF中的每句话作为一个样本(句子中的单词作为特征),并需要将每个样本/句子分类到以下类别之一:硬件相关和软件相关。(我使用了朴素贝叶斯算法结合TF-IDF。)
然而,正如你所能想象的,也有很多与硬件和软件都不相关的句子。我是否需要创建一个单独的“默认/无关”类别,这样总共有三个类别?或者最好只保留这两个类别,并根据它们的概率进行分类?例如;如果一句话被分类为硬件的概率为0.6,那么我会忽略它。但如果结果是0.8或更高,那么我会将其分类为硬件。
回答:
你需要在训练集中使用无关的句子,我将通过一个例子来解释原因:
如果你有一个三类分类问题,你可以得到这样的输出:无关95% 硬件4% 软件1%
成为硬件的可能性是成为软件的4倍。但显然你会选择无关。
如果你使用一个两类数据集,你会得到这样的输出:硬件80% 软件20%
成为硬件的可能性再次是成为软件的4倍,但这两个百分比必须总和为100%,因为分类器认为这两种可能性构成了整个宇宙。
你有两个不同的选择:
1 – 三类分类问题(硬件,软件,无关)
2 – 两个分类器的两类分类问题:
分类器1 -> 正类硬件,负类:软件 + 无关
分类器2 -> 正类软件,负类:硬件 + 无关