当目标标签依赖于多个输入行时,如何应用监督机器学习?

数据挖掘 机器学习 喀拉斯 多类分类 监督学习 多标签分类
2022-02-14 10:31:13

该问题是一个多标签分类问题。 数据 现在,我知道如何使用具有多个属性的单行进行训练和分类。例如,如果数据集看起来像附件中的第一个表。在这里,每一行都与一个标签相关联。因此,我可以在将数据集分成训练集和测试集后进行训练和测试。但是当分类标签/目标标签依赖于多行,例如附件中的第二个表时,就会出现问题。连续 N 行构成一个类别。您能指导我找到解决方案吗?

  1. 是否有可能在任何现有工具中解决这个问题?例如,WEKA 或使用 Keras 的神经网络。
  2. 还是我必须更改算法才能适应问题!有没有现成的解决方案?
  3. 或者我是否需要以将其转换为一个的方式修改行?
3个回答

将你的行串联起来怎么样(即 Attr1 -> Attr12),这样你现在有 3*4 个特征(因为 4 行,每行 3 个特征)作为多类分类模型的输入?

例如,第一个样本将被描述为:

X = [1.1, 1.4, 2.5, 2.3, 2.5, 2.7, 1.1, 1.6, 1.9, 1.5, 1.6, 1.7]
y = "A"

否则,向分类器提供 2D 或 3D 输入是没有问题的。以对图像进行操作的卷积神经网络为例!

由于您似乎每个样本的行数相同,因此底层过程可能是将数据视为 2D 或解压缩为 12 个特征是有意义的,正如@Arnaud 所描述的那样。(这似乎取决于根据某些隐含规则对四行进行排序?)

更一般地说,这被称为“多实例学习”。可能从维基百科页面、假设和算法部分开始。

第二个表只是说第 1-4 行是 A 类的 4 个不同示例,第 5-8 行是 B 类的 4 个单独示例,其余是 C 类的 4 个示例。只需修改表,使目标标签列有 12第一行的值为 A,接下来的 4 行的值为 B,最后的 4 行的值为 C。

祝你好运!