多类分类中是否可以有默认类?

数据挖掘 机器学习 scikit-学习 多类分类
2022-03-08 16:23:16

在一般文本分类问题中,训练机器学习模型以检测文本是否属于 N 个类中的一个总是会产生 N 个值。即使传递给模型的文本远远超出 N 个类中的任何一个类(比如你在电影类型的类别上训练它,但是有人将配方传递给分类器),它总是会选择 N 中的一个作为输出,即使传递给它的文本不属于任何类。

是否有一种方法可以为“未知”添加一个附加类,以便如果模型输出是 N 种类型之一但以非常低的概率匹配它,则将其分配给默认或未知类?

编辑:我们正在使用来自 sci kit learn 的 LinearSVC

2个回答

取决于模型,但这将是一个后处理动作。

例如,在最近的一个问题中,我训练了一个随机森林分类器,然后将最可能类的概率小于 50% 的任何数据点分类为未知。

如果p低于某个阈值,只需使用predict_probaand 最后(对于 10 个类,所有 p 将是 ~.1,最好可能有 0.2,所以如果它对你来说太低了)你只需将 predition 从“class1”更改为“unknown” ,不可能将其添加到模型中