我目前面临一个问题,其中我的一些训练示例同时属于多个类,例如,样本属于类和类。我在想一个解决方案是将该样本视为双重样本,即,将其视为两个样本,一个用于类,一个用于类。但是,我的问题是我正在执行一对多的策略,我认为这种解决方案可能会导致数值错误(特征矩阵将具有相同的行)!
您是否知道对此类问题的任何引用(或它的技术名称)?
提前致谢!
我目前面临一个问题,其中我的一些训练示例同时属于多个类,例如,样本属于类和类。我在想一个解决方案是将该样本视为双重样本,即,将其视为两个样本,一个用于类,一个用于类。但是,我的问题是我正在执行一对多的策略,我认为这种解决方案可能会导致数值错误(特征矩阵将具有相同的行)!
您是否知道对此类问题的任何引用(或它的技术名称)?
提前致谢!
这看起来像一个经典的多标签分类。有几十种可能的方法,特别是sklearn
python 库实现了这些方法。
在最简单的场景中,您可以在“标签”的基础上训练分类器。特征矩阵不会有任何问题,因为你可以简单地将你的个标签问题分成个单标签问题,并训练个独立的分类器。可以在 sklearn 文档中找到很好的示例,其中有两个二进制标签(每个样本可以有标签 1、标签 2、两者都有或没有),我们只需将其转换为两个二进制分类问题,处理相同的输入数据,但是带有不同的标签。
@juampa 所建议的实际上是更复杂的东西 - 预测结构化标签会做出许多假设(首先 - 标签中有任何可靠的结构,并且您可以“手动”对其进行建模)。这也可以是一个解决方案,但如果您发现更常见、更简单的方法还不够,我会把它留到后面的阶段。特别是,有一些模型和方法可以在没有先验知识的情况下预测结构化标签。
分类器的层次结构对您来说是一个解决方案吗?在第一级,您找到与集群对应的分类器,然后为子集群找到分类器