我对机器学习还比较新手,我想知道某些算法/模型(例如逻辑回归)是否能处理以列表形式作为变量值的情况。至今为止,我一直使用的是比较标准的数据集,其中包含几个变量、与之相关的值以及这些值集的分类(参见示例1)。然而,现在我有一个类似的数据集,但其中一些变量是以列表形式存在的(参见示例2)。这种情况逻辑回归模型能处理吗?还是我需要进行某种特征提取,将这个数据集转换为像示例1那样的普通数据集?
示例1(普通):
+---+------+------+------+-----------------+| | var1 | var2 | var3 | classification |+---+------+------+------+-----------------+| 1 | 5 | 2 | 526 | 0 || 2 | 6 | 1 | 686 | 0 || 3 | 1 | 9 | 121 | 1 || 4 | 3 | 11 | 99 | 0 |+---+------+------+------+-----------------+
示例2(列表):
+-----+-------+--------+---------------------+-----------------+--------+| | width | height | hlines | vlines | class | +-----+-------+--------+---------------------+-----------------+--------+| 1 | 115 | 280 | [125, 263, 699] | [125, 263, 699] | 1 | | 2 | 563 | 390 | [11, 211] | [156, 253, 399] | 0 | | 3 | 523 | 489 | [125, 255, 698] | [356] | 1 | | 4 | 289 | 365 | [127, 698, 11, 136] | [458, 698] | 0 | | ... | ... | ... | ... | ... | ... | +-----+-------+--------+---------------------+-----------------+--------+
为了提供我具体问题的更多背景信息。我试图表示图画。图画有宽度和高度(常规变量),但图画也有一组水平和垂直线(以它们在各自轴上的坐标列表形式表示)。这就是你在示例2中看到的。我实际使用的数据集更大,还包含持有每条线的粗细列表、每条线的延伸列表、线间空隙颜色的列表等变量。最终,我希望我的逻辑回归模型能够识别出哪些是好的图画。例如,如果线条太多且靠得太近,图画就不好看。模型应该能够自己识别出这些使得图画好坏的“特征”。
我没有包括这些,因为这种数据设置方式有点难以解释,如果我能解决上面数据集的问题,我觉得我也可以将这个解决方案的原则应用于剩余的数据集。但是,如果你需要更多的(完整的)细节,请随时提问!
提前感谢!
回答:
不,它不能直接处理这种输入结构。输入必须是同质的二维数组。你可以做的,是创建一些新的特征,这些特征捕捉列表中包含的一些相关信息。例如,对于包含沿轴线的线条坐标的列表(除了实际值本身),可以是线条之间的间距,或者线条的总数,或者一些统计数据如平均位置等。
因此,处理这种情况的方法是通过特征工程。事实上,这在大多数情况下都是必须处理的。在许多机器学习问题中,你可能不仅仅有描述每个数据样本的唯一方面或特征的变量,而且其中许多可能是来自其他特征或样本组的聚合,如果要考虑某些数据源,这可能是唯一的方法。