Python聚类数值数据

时间:2016-01-29 10:30:08

标签: python algorithm cluster-analysis

我正在学习一个教程,其中'kmeans'算法是整个示例的主要部分。 'rows'列表作为要聚类的数据传递。 Pearson函数提供第二个参数,一个关系系数,k = 3是簇的数量。从kmeans函数返回的“bestmatches”是与属于每个集群的行中的元素对应的分组/聚簇索引值的列表。由于我需要制作散点图,我需要他们的价值观。如何返回值而不是索引?

pfx

1 个答案:

答案 0 :(得分:0)

不要将k-means与pearson相关性

一起使用

这可能会失败,因为pearson相关性和意味着是不兼容的,可能会阻止算法收敛。更糟糕的是,它可能会产生无效的值。

如果你采用两个向量

1 2 3 4 5
9 8 7 6 5

那么平均值是

5 5 5 5 5

并且生成的均值不能与Pearson corrleation一起使用,因为它是常量值。

K-means仅适用于 Brgeman 分歧,例如平方欧几里德。因为它是关于方差最小化,而不是距离最小化

K-means 不能与任意距离一起使用。如果您有其他距离,请使用k-medians(PAM)或其他聚类算法。