我对ML和Datascience很陌生,所以我的问题可能有些愚蠢。 我有一个数据集,每一行都是一个向量[a1,a2,a3,a3,...,an]。那些矢量不仅在它们的测量中是不同的,而且在n的数量和总和A = a1 + a2 + a3 + ... + a中是不同的。
大多数载体具有5-6个维度,在15-20维度有一些例外。平均而言,它们的成分通常具有40-50的值。
我尝试过将Kmeans,DBSCAN和GMM聚集起来:
现在我想将n和A的信息包含在流程中。例: -Vector 1 [0,1,2,1,0]和Vector 2 [0,2,4,5,3,2,1,0],它们在n和A都是不同的,它们不能在同一个集群。在考虑其组件之前,每个群集仅包含具有相似(接近值)A和n的向量。
我在Python上使用sklearn,我很高兴听到有关此问题的建议和建议。
答案 0 :(得分:1)
您的主要问题是如何衡量相似性。
我很惊讶你有算法可以运行,因为通常他们会期望所有向量的长度都与计算距离完全相同。也许你让它们自动填满0值 - 这也许就是为什么长矢量最终离其他所有数据都很远。
您需要了解他们正在做什么或结果可能无用。在你的情况下,他们使用的距离很远,所以结果当然不是很好。
首先,您需要找到一种更好的方法来计算不同长度的两个点的距离。 [0,1,2,1,0]和[30,40,50,60,50,40,30]应该有多相似。对我来说,这是一个非常相似的模式(加速,减速)。