【问题标题】:Hierarchical Clustering using Python on Correlation Coefficient在相关系数上使用 Python 进行层次聚类
【发布时间】:2017-02-20 18:56:48
【问题描述】:

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

1) 我更喜欢使用完全链接或沃德的方法来做集群。 2)我被困在从哪里开始聚类,因为 scikit-learn 中的文档对我来说太技术性了 3)你能帮我启动一下吗?

提前非常感谢您...

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

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

数据 = [[ 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. ]]

【问题讨论】:

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


    【解决方案1】:

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

    Ward 是为平方欧几里德设计的,因此虽然它可能适用于相关性,但理论上的支持可能很弱。将支持完整的链接。

    负相关呢?你想如何处理它们?

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

    1. 1 - p**2(取决于实现,这可能是 Ward 的一个不错的选择,因为它是正方形)
    2. 1 - abs(p)
    3. 1 - p(这会将负相关视为不好!)

    确保将您的指标设置为precomputed。并习惯阅读 sklearn 文档。它是您会发现的技术含量最低的一种,因此您最好自己提高技术水平。

    【讨论】:

    • 非常感谢您的回复。是的,我计划使用完整的链接进行聚类。正如在许多实验中所读到的,我认为 1-abs(p) 将是在对数据集进行聚类之前处理负相关的最佳方法。
    猜你喜欢
    • 1970-01-01
    • 2018-12-11
    • 2016-10-30
    • 2011-02-23
    • 2013-09-17
    • 1970-01-01
    • 2020-06-28
    • 2019-12-20
    • 2013-07-11
    相关资源
    最近更新 更多