虹膜数据集上的多维缩放(MDS)

时间:2014-11-08 13:33:12

标签: matlab data-mining data-visualization multi-dimensional-scaling

我应该在着名的Fisher Iris数据集的matlab中使用“mdscale”函数进行多维缩放。

我不明白为什么有时它会起作用,有时却不行。这就是我的工作:

clear all;
load('fisheriris'); %it return a dataset in the variable "meas"

distM = pdist(meas);  %creating the distance matrix of the dataset
newPoints = mdscale(distM, 2, 'criterion', 'stress')    

错误是:

  

配置中的点数位于同一位置。尝试不同的开始   点,或使用不同的标准。

如果我使用其他标准,如“sstress”或“metricsstress”,它似乎有效。

怎么解释?

1 个答案:

答案 0 :(得分:0)

这取决于实施。

基于矩阵求逆的实现应该是确定性的,但是可以根据数据的大小来扩展O(n ^ 3);虹膜数据可以负担得起。

基于概率地找到矩阵的特征向量(其扩展O(n ^ 2)IIRC)的实现被随机初始化,因此每次都会产生不同的结果。

但你确定这是一个错误,而不只是一个警告吗?

虹膜数据集特别容易出现此类问题,因为它的分辨率较低。数值仅以0.1的分辨率测量,因此您的值很少。