How can I convert a matrix into a dissimilarity matrix??
11 次查看(过去 30 天)
显示 更早的评论
I have a matrix with so many negative and non-negative values of dimension 54x16063. Can i convert this matrix into a dissimilarity matrix??.... How??
0 个评论
回答(1 个)
Taro Ichimura
2016-6-19
Hello, The Matlab help on this matter is extremely poorly described... you can use the function pdist and squareform. If you have a matrix X, then use
D = pdist(X)
which convert your matrix into a 1x (n(n-1)/2) (its a vector). Several option of metric are available such as Euclidian or correlation (see pdist help).
IF you need to visualize the Dissimilarity matrix, then use the function squareform to put it back in a square form with a diagonal, typically of dissimilarity matrix. then you can plot(D).
If you need to do Pearson correlation then dissimilarity matrix, you can do: corr(X), then do (matrix of 1)-(Pearson matrix), because Pearson corr is already a measure of similarity.
Hope that helps,
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!