我目前正在处理训练和测试数据集(一组数组),这些数组的长度不一,如下所示:
a: {true, [1,3, 4, 5, 5, 8 ,10 ,10]}b: {true, [1,3, 25, 18 ,1 ,10]}c: {false, [1, 8 ,10]}d: {false, [1,3 ,10 ,10]}
我是机器学习领域的新手,目前卡在了如何将这些长度不一的输入数组转换为等长数组,以便更容易利用现有的机器学习算法上。
目前我想到可以使用最长公共子序列(LCS)来找出不同长度输入数组之间的相似性。
但是在获得LCS信息后,我该如何将输入数组转换为等长数组呢?
我走的方向对吗?谁能给我一些帮助?
回答:
对于这种任务,没有通用的解决方案。一切都取决于你的数据实际代表什么。有数十种特征提取技术可以很好地处理不同长度的数据,但具体选择哪一种取决于具体任务。没有,也不可能有一个通用的方法将可变长度表示转换为固定长度表示。LCS看起来是一个非常奇怪的方法,应该会产生非常错误的结果(至少在一般情况下是这样,也许在这个特定问题中它有意义)。如果LCS确实有意义,那么它将返回新表示的一个维度。它只是你新向量的一个特征。你需要更多特征才能应用任何合理的机器学习技术。