向集群中的数据集添加条件

2024-04-20 01:12:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我对ML和数据科学还很陌生,所以我的问题可能有点傻。 我有一个数据集,每行是一个向量[a1,a2,a3,a3,…,an]。这些矢量不仅在测量上不同,而且在n的个数和和A=a1+a2+a3+…+an的和上也不同。你知道吗

大多数向量都有5-6维,除了15-20维。平均而言,它们的分量通常为40-50。你知道吗

我尝试了Kmeans、DBSCAN和GMM来对它们进行集群:

  • Kmeans总体上给出了最好的结果,然而,对于2-3维向量和低A的向量,它常常会错误分类。你知道吗
  • dbs只能从数据集中分离出低维、低A的向量,其余的作为噪声处理。你知道吗
  • GMM将5-10维的向量分离出来,低A,非常好,但对其余向量的性能较差。你知道吗

现在我想把n和A的信息加入到这个过程中。例子: -向量1[0,1,2,1,0]和向量2[0,2,4,5,3,2,1,0]在n和A中是不同的,它们不可能在同一个簇中。每个簇只包含具有相似(接近值)A和n的向量,然后再考虑它们的分量。你知道吗

我正在使用sklearn on Python,很高兴听到关于这个问题的建议和建议。你知道吗


Tags: 数据ana2a1矢量科学向量ml
1条回答
网友
1楼 · 发布于 2024-04-20 01:12:07

你的主要问题是如何衡量相似性。你知道吗

我很惊讶你竟然能运行这些算法,因为通常他们会期望所有向量在计算距离时具有完全相同的长度。也许你让它们自动填充0值-这可能就是为什么长向量最终远离所有其他向量的原因。你知道吗

不要把算法当作黑匣子

你需要了解他们在做什么,否则结果很可能毫无用处。在你的例子中,他们使用了一个糟糕的距离,所以结果当然不是很好。你知道吗

首先,你需要找到一个更好的方法来计算两个不同长度的点的距离。[0,1,2,1,0]和[30,40,50,60,50,40,30]应该有多相似。对我来说,这是一个非常相似的模式(斜坡上升,斜坡下降)。你知道吗

相关问题 更多 >