我正在尝试在 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 是正确的选择。我也错过了说我想要三个维度的结果的可能性(这将在稍后阶段需要)。