1

유명한 Fisher Iris 데이터 세트의 matlab에서 "mdscale"함수를 사용하여 다차원 스케일링을 수행해야합니다.홍채 데이터 세트의 다차원 스케일링 (MDS)

가끔씩 작동하지 않는 경우가 종종 있습니다. 이것은 내가 할 것입니다 :

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"와 같은 다른 기준을 사용하면 작동하는 것 같습니다.

어떻게 설명 할 수 있습니까?

답변

0

구현에 따라 다릅니다.

매트릭스 반전을 기반으로하는 구현은 결정적이어야하지만 O (n^3)는 데이터 크기에 맞게 조정해야합니다. 홍채 데이터에서 저렴한 비용으로 구입할 수 있습니다.

행렬의 고유 벡터를 확률 적으로 찾는 (O (n^2) IIRC를 조정하는) 기반의 구현은 매번 다른 결과를 산출합니다.

하지만 경고가 아닌 오류인지 확인하십시오.

아이리스 데이터 세트는 해상도가 낮기 때문에 이러한 문제에 특히 취약합니다. 값은 0.1의 해상도로만 측정되었으므로 매우 다른 값을 갖습니다.