我如何从两个已经训练好的分类器中构建一个分类器?

Posted

技术标签:

【中文标题】我如何从两个已经训练好的分类器中构建一个分类器?【英文标题】:How do i build a classifier out of two already trained classifiers? 【发布时间】:2018-12-29 11:41:19 【问题描述】:

我想将文本分类为正面、负面或中性。因此,我构建了两个不同的 SVM。第一个在负面和正面/中性之间进行分类,另一个在正面和负面/中性之间进行分类。如果两个分类器不同意,则输入是中性的。现在我想要两个将这两个分类器组合成一个分类器,它给出文本是正负还是中性的输出。我听说过 Voting 分类器,但这无济于事,因为它必须在事后进行训练。有没有办法将这两个分类器做成一个分类器?

【问题讨论】:

【参考方案1】:

一个简单的解决方案(不需要训练)可能是在一个后处理步骤中添加两个分类器的布尔输出,其中 0 映射到负(或负/中性),1 映射到正(或正/中性)用于单个分类器输出。加法的结果被映射到最终集成输出中三类中的一个。

Output1 | Output2 | Ensemble output
--------------------------------------
  0     |   0     |       0 (Negative)
  0     |   1     |       1 (Neutral)
  1     |   0     |       1 (Neutral)
  1     |   1     |       2 (Positive)

【讨论】:

这实际上是一个非常好的主意。我没有考虑添加。谢谢!

以上是关于我如何从两个已经训练好的分类器中构建一个分类器?的主要内容,如果未能解决你的问题,请参考以下文章

在 weka 分类器中缩放训练数据

如何从 scikits.learn 分类器中提取信息然后在 C 代码中使用

如何在 python 的朴素贝叶斯分类器中对用户输入测试集进行分类?

在 OpencV 中训练 SVM 分类器?

如何在朴素贝叶斯分类器中使用 k 折交叉验证?

在 Lucene 分类器中使用多个叶子