制作训练有素的分类器只能从训练过的其他类中的一组类中预测

时间:2017-08-14 09:45:48

标签: python machine-learning scikit-learn

我有一个训练有素的分类器,可以将看不见的数据分类到四个类中的任何一个。有没有办法限制这个分类只能从所有类中的任何两个分类。

实施例, 分类器的类可以分配给看不见的数据:

0, 1, 2, 3

我想将分类器的预测仅限于0级和1级。因此,每当我将看不见的数据传递给分类器时,它应该将数据分类为0类或1类。

3 个答案:

答案 0 :(得分:0)

没有。分类器不是“可以”分类的东西,而是“分类”。如果分类器说3,则没有办法要求它用于不同的类方案。如果您希望分类器具有二进制方案,则必须训练该分类器。那是一个不同的分类器。

我想到的唯一一个案例 - 一些多类分类器底层有多个二元分类器。但是你通常无法获取这些信息。

如果你有额外的知识,你可以做的就是否决分类器。如果您知道第2和第3类不在您的测试集中,您可以使用您的可能性知识将它们转换为0或1.如果最可能的类是2,我明确表示不鼓励您使用概率选择0或1类或者3。

答案 1 :(得分:-1)

答案 2 :(得分:-1)

是的,这是可能的。在分类时,在某些方法中,您可以获得每个类的概率。因此,如果您有四个类,则输出将类似于[0.1,0.2,0.3,0.4],其总和将始终为1。这称为软分类。您指定具有最大概率的类。

还有其他方法可以进行硬分类。在这些方法中,您不会获得概率,而是获得确定性结果。在这种情况下,您的输出将看起来像[0,0,0,1]

您的问题的答案取决于您使用的分类方法。如果您使用软分类,您可以根据您获得的概率进行分类。忽略最后两个类的概率,只使用前两个概率。

如果您使用的是硬分类器,除非您能够提出类似于概率的指标,否则这是不可能的。