由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 怎么找到一个similarity matrix里面的不同的submatrix with high similarity?
相关主题
请问一个EXCEL做图的问题。请教个问题:MATLAB 怎么设置精确的轴
请问怎样才能在Excel中才能做出这个统计图? (转载)问个简单的算法题
问题怎么解?有对USB audio class的descriptor熟悉的XD吗?
想知道家在linux下都有什么c++ socket libraryhibernate越用越爽
原来你们扭扭捏捏不好意思说的比较优势就是web service啊同时train segm和obj detect
求python大牛指路inline functions in C++
NOSQL排名如何 measure similarity
python 画图...How does matlab optimization deal with singular matrix?
相关话题的讨论汇总
话题: submatrix话题: similarity话题: matrix话题: true话题: cutree
进入Programming版参与讨论
1 (共1页)
N******n
发帖数: 3003
1
标 题: 怎么找到一个similarity matrix里面的不同的submatrix with hi
发信站: BBS 未名空间站 (Fri Apr 4 16:31:50 2014, 美东)
A is a symmetric matrix measuring the pair similarity between each node:
the higher value, the more similar the pair is.
我们的matrix里面每个值都是相互之间的相似性,比如50个国家直接的相似性。
如果对他的横坐标和纵坐标做hierarchical clustering, 就把相似的值都聚在一起,
如果用hotmap plot, 就会有很多hot spot.
比如:
matrix A:

0 30 25 1 2 3
30 0 22 2 2 1
22 20 0 2 2 2
1 2 1 0 2 2
1 2 2 3 0 9
1 1 1 2 10 0

很显然上面的matrix里面有两个submatrix 代表不同的区域:1 2 3高度相似,5 6高度
相似。上面我把对角设成了0.
就是想找个简单的算法把两个submatrix矩阵找出来,也可以设置不同的参数,
submatrix的size 必须大于2,那么上面那个小的submatrix(include 5 6)就去掉了了。
谢谢
G**Y
发帖数: 33224
2
你都hclust了,直接cut那些dendrogram不就完了。

【在 N******n 的大作中提到】
: 标 题: 怎么找到一个similarity matrix里面的不同的submatrix with hi
: 发信站: BBS 未名空间站 (Fri Apr 4 16:31:50 2014, 美东)
: A is a symmetric matrix measuring the pair similarity between each node:
: the higher value, the more similar the pair is.
: 我们的matrix里面每个值都是相互之间的相似性,比如50个国家直接的相似性。
: 如果对他的横坐标和纵坐标做hierarchical clustering, 就把相似的值都聚在一起,
: 如果用hotmap plot, 就会有很多hot spot.
: 比如:
: matrix A:
: 【

i**i
发帖数: 1500
3
这不是明显在找subtree吗?
你都分析到这了,找braches只是举手之劳吧.
随便给搜了一个.
http://stat.ethz.ch/R-manual/R-patched/library/stats/html/cutre
N******n
发帖数: 3003
4
谢谢,不过cutree没有考虑到heat, 可能我觉得例子不全。
比如matrix每个格子代表pair similarity. 做hierarchical clustering rearrange
the index, and use heatmap to visualize the similarity intensity. 显然heat
degree 高的代表想要的,低的不想要,如果cutree,看不到高的和低的的区别 因为相
似度低的也在一个cluster里面。

【在 i**i 的大作中提到】
: 这不是明显在找subtree吗?
: 你都分析到这了,找braches只是举手之劳吧.
: 随便给搜了一个.
: http://stat.ethz.ch/R-manual/R-patched/library/stats/html/cutre

N******n
发帖数: 3003
5
我们只需要hot的部分,你如果cut就可能把所有的cluster都找到了,比如图上绿色的
部分也在一个cluster里面,但是不够hot

【在 G**Y 的大作中提到】
: 你都hclust了,直接cut那些dendrogram不就完了。
i**i
发帖数: 1500
6
There are three kinds of lies: lies, damned lies, and statistics.
看你怎么理解cluster和heatmap. 你把这两个混起来了。
首先cluster(不管是几维),讲的是根据vector之间的距离、差异程度分组。然后你把
他plot出来,标上颜色,就是heatmap。 在这里,你展示了一个角。这个角的形成,可
能是其他没有显示的部分造成的。
然后你说,要把一小块红的挖出来。挖就是了。直接读图,挖。
挖很容易。 举一个例子。
先造一个例子:
> d <- matrix(1:9,3,3)
> d
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
根据行列,挖:
> d[2:3,1:2]
[,1] [,2]
[1,] 2 5
[2,] 3 6
假设cutoff是4,找包含大于4元素的行列
> col <- apply(d,2,function(x){any(x>4)})
> col
[1] FALSE TRUE TRUE
> row <- apply(d,1,function(x){any(x>4)})
> row
[1] TRUE TRUE TRUE
再挖:
> d[row,col]
[,1] [,2]
[1,] 4 7
[2,] 5 8
[3,] 6 9
>
这个结果代表什么意思,哈哈,鬼才知道。
i**i
发帖数: 1500
7
另外,试了一下cutree. 挺好用的。
用hclust里的例子,hc.
分4组,高度限制5000:
> g <- cutree(hc,4,5000)
> g
Alabama Alaska Arizona Arkansas California
1 1 1 2 1
Colorado Connecticut Delaware Florida Georgia
2 3 1 4 2
...
> table(g)
g
1 2 3 4
14 14 20 2
第四组两个元素。
> g[g==4]
Florida North Carolina
4 4
>
这不挺好的吗?
BTW,怀念用R的时代。
1 (共1页)
进入Programming版参与讨论
相关主题
How does matlab optimization deal with singular matrix?原来你们扭扭捏捏不好意思说的比较优势就是web service啊
哪儿有经典的C++ programing 习题集嘛?求python大牛指路
C++ read matrix from txt fileNOSQL排名
奇怪的继承问题python 画图...
请问一个EXCEL做图的问题。请教个问题:MATLAB 怎么设置精确的轴
请问怎样才能在Excel中才能做出这个统计图? (转载)问个简单的算法题
问题怎么解?有对USB audio class的descriptor熟悉的XD吗?
想知道家在linux下都有什么c++ socket libraryhibernate越用越爽
相关话题的讨论汇总
话题: submatrix话题: similarity话题: matrix话题: true话题: cutree