我怎么能执行的层次聚类的相关性的绝对值?

23日视图(30天)
我想做分层聚类在MATLAB使用“连接”和“pdist”功能。我熟悉的功能,但我试图集群的相关值的绝对值。
默认为“pdist”功能、“相关性”,包括积极的和消极的,但我感兴趣分组逆关系。
有人知道怎么实现呢?

接受的答案

MathWorks支万博1manbetx持团队
有两种方法可以做到这一点:
首先,注意到“pdist”计算1 -行之间的相关性:
> > x
x =
1 2 3 4
2 3 2 3
1 2 3 4
4 3 2 1
> > pdist (x,“天哪”)
ans =
0.5528 0 2.0000 0.5528 1.4472 2.0000
> > 1-corr (x ')
ans =
0 0 0.5528 2.0000
0.5528 0 0.5528 - 1.4472
0 0 0.5528 2.0000
2.0000 1.4472 2.0000 0
1)第一种方法计算的距离为1 -绝对的相关性,并根据计算的联系。
> > D = pdist (x,“天哪”);
> >链接(D,“单一”)
ans =
1.0000 - 3.0000 0
2.0000 5.0000 0.5528
4.0000 6.0000 1.4472
> > C =一维%得到相关
C =
0.4472 1.0000 -1.0000 0.4472 -0.4472 -1.0000
> > D = 1-abs (C)%得到1-abs(相关)
D =
0.5528 0 0 0.5528 0.5528 0
> >链接(D,“单一”)%集群使用
ans =
3.0000 - 4.0000 0
1.0000 - 5.0000 0
2.0000 6.0000 0.5528
注意点1、3、4的零距离,即使相关点(4 ' 1 '。
2)第二种方法是编写的距离进入“链接”命令:
> >链接(x,“单一”@ (xrow ymat) 1-abs (corr (xrow ', ymat ')))
ans =
3.0000 - 4.0000 0
1.0000 - 5.0000 0
2.0000 6.0000 0.5528

更多的答案(0)

标签

没有标签了。

s manbetx 845


释放

R2017b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!