0

我正在尝试在 Matlab 中使用多维缩放。目标是将相似度矩阵转换为散点图(以便使用 k-means)。

我有以下测试集:

London  Stockholm   Lisboa  Madrid  Paris   Amsterdam   Berlin  Prague  Rome    Dublin
0       569         667     530     141     140         357     396     570     190
569     0           1212    1043    617     446         325     423     787     648
667     1212        0       201     596     768         923     882     714     714
530     1043        201     0       431     608         740     690     516     622
141     617         596     431     0       177         340     337     436     320
140     446         768     608     177     0           218     272     519     302
357     325         923     740     340     218         0       114     472     514
396     423         882     690     337     272         114     0       364     573
569     787         714     516     436     519         472     364     0       755
190     648         714     622     320     302         514     573     755     0

我从《现代多维缩放》(Borg & Groenen,2005)一书中获得了这个数据集。使用 PROXSCAL MDS 方法在 SPSS 中对其进行了测试,我得到了与书中所述相同的结果。

但我需要在 Matlab 中使用 MDS 以加快进程。网站上的教程:http: //www.mathworks.nl/help/stats/multidimensional-scaling.html#briu08r-4看起来和我上面使用的一样。当我将数据集更改为上面显示的内容并运行代码时,出现以下错误:“不是有效的相异或距离矩阵。”。

我不确定我做错了什么,如果经典 MDS 是正确的选择。我也错过了说我想要三个维度的结果的可能性(这将在稍后阶段需要)。

4

1 回答 1

0

您的矩阵不是对称的,请检查索引(9,1)(1,9). 要快速找到不对称索引,请使用[x,y]=find(~(D'==D))

于 2014-03-03T17:23:33.957 回答