【问题标题】:grouping using dendrogram matlab使用树状图matlab进行分组
【发布时间】:2014-09-13 13:09:30
【问题描述】:

我有一个由 4 个向量(列)组成的矩阵 A,每个向量(列)有 12 个元素

A = [    0         0         0         0;
    0.0100    0.0100    0.0100         0;
    0.3000    0.2700    0.2400    0.2400;
    0.0400         0    0.0200    0.0200;
    0.1900    0.0400    0.0800    0.0800;
    0.1600    0.6500    0.2100    0.3800;
    0.0600    0.0100    0.0300    0.0200;
    0.1500    0.0100    0.0600    0.1700;
         0         0         0    0.0800;
    0.0300         0    0.0200    0.0100;
    0.0700         0    0.1200    0.0100;
         0         0    0.2300         0]

我还有一个相似度矩阵,表示一个向量与其他向量的相似程度

SIM =[1.00    0.6400    0.7700    0.8300;
    0.6400    1.0000    0.6900    0.9100;
    0.7700    0.6900    1.0000    0.7500;
    0.8300    0.9100    0.7500    1.0000]

读取这个矩阵的行

vetor 1 is similar to vector 2 for 64%
vector 1 is similar to vector 3 for the 77%
...

我想创建一个树状图,显示 A 中有多少个不同的组,考虑到 0.95 的相似度阈值(即,如果 2 个组的相似度 >0.7,则连接它们)

我真的不明白如何对我的数据使用此功能...

【问题讨论】:

    标签: matlab cluster-analysis dendrogram


    【解决方案1】:

    不确定我是否正确理解了你的问题,但根据我的理解,我会这样做:

    DSIM = squareform(1-SIM); % convert to a dissimilarity vector
    

    它给出了结果:

    % DSIM =   0.3600    0.2300    0.1700    0.3100    0.0900    0.2500
    % DSIM =  1 vs 2 , 1 vs 3 , 1 vs 4, 2 vs 3, 2 vs 4, 3 vs 4 ; 
    

    之后,计算链接:

    Z = linkage (DSIM,'average'); % there is other grouping option than average
    

    您可以使用以下方法绘制树状图:

    dendrogram(Z)
    

    但是,您想根据阈值拆分组:

    c = 0.1;
    

    这是要切割的相异度,这意味着如果两个组的相似度高于0.9,则两个组将被连接

    T = cluster(tree,'cutoff',c,'criterion','distance')
    

    在这种情况下 T 的结果是:

    T =
      1
      2
      3
      2
    

    这意味着在这个级别上,您的向量 1、2、3、4(称为 A B C D)分为 3 个组:

    1. 一个
    2. B,D
    3. C

    同样,c = 0.3,或 0.7 相似度:

    T = 1 1 1 1
    

    所以这里只有一组。

    要将其显示在树状图中,您可以计算组数:

    num_grp = numel(unique(T));
    

    之后:

    dendrogram(tree,num_grp,'labels',{'A','B','C','D'})
    

    在这种情况下,树状图不会显示所有组,因为您将最大节点数设置为等于组数。

    【讨论】:

      猜你喜欢
      • 2019-07-07
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 2017-09-17
      • 2018-09-11
      • 1970-01-01
      • 1970-01-01
      • 2020-04-07
      相关资源
      最近更新 更多