所以基本上我正在处理一个长度不等的训练和测试数据集(一堆数组),如下所示:
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信息之后,我怎样才能将输入数组转换成等长的数据呢?
我是正确的吗?有人能给我一些帮助吗?
答案 0 :(得分:1)
此类任务没有通用的解决方案。一切都取决于您的数据实际代表什么。有许多特征提取技术可以很好地处理各种长度数据,但具体的选择取决于特定的任务。没有,也不可能是一种使可变长度表示成为恒定长度表示的通用方法。 LCS似乎是非常奇怪的方法,它应该给出非常错误的结果(至少在一般情况下,可能在这个特定问题中它有意义)。如果是这种情况(LCS确实有意义),那么它将返回新表示的一维。它只是你的新矢量的一个功能。你需要更多的东西来应用任何合理的机器学习技术。
答案 1 :(得分:0)
大多数ML算法需要固定的输入和输出。 完全卷积神经网络或递归神经网络可以适应不同的输入和输出。
但在你的情况下,我会建议只需要最大值。数组长度并将零附加到具有较少项目然后最大的数组