在相关系数上使用Python的分层聚类

时间:2016-10-12 04:47:27

标签: python scikit-learn cluster-analysis correlation hierarchical-clustering

我有50乘50矩阵的数据代表50种期刊及其相关性。现在,我试图根据数据绘制图表,显示这50个期刊属于哪些集群。

1)我更喜欢使用完全连接或Ward方法来进行聚类。 2)我被困在哪里开始集群,因为scikit-learn中的文档对我来说太技术化了 你能帮我一下吗?

非常感谢你提前...

我的所有数据都在-1和1之间,因为它是相关系数。

数据样本示例(50 * 50):

data = [[1. 0.49319094 0.58838586 ...,0.11433441 0.6450184    0.60842821]

[0.49319094 1. 0.39311674 ..., - 0.00795401 0.42944597    0.68855177]

[0.58838586 0.39311674 1. ...,0.39785574 0.864322    0.68910632]

...,

[0.11433441 -0.00795401 0.39785574 ...,1. 0.38623474    0.34228516]

[0.6450184 0.42944597 0.864322 ...,0.38623474 1. 0.65408474]

[0.60842821 0.68855177 0.68910632 ...,0.34228516 0.65408474 1.]]

1 个答案:

答案 0 :(得分:0)

Python期望距离,即低值更好。

Ward是为欧几里德平方设计的,所以虽然它可能与相关性有关,但理论上的支持可能很弱。将支持完整的链接。

负相关怎么样 - 你想如何对待它们?

我相信我知道三种流行的转变:

  1. 1 - p**2(取决于实施情况,由于广场,这可能是沃德的一个很好的选择)
  2. 1 - abs(p)
  3. 1 - p(这会将负相关视为坏!)
  4. 确保将指标设置为precomputed。并习惯阅读sklearn文档。这是你会发现的技术最少的技术之一,所以你最好自己变得更加技术化。