问题
I have a dissimilarity matrix on which I would like to perform multidimensional scaling (MDS) using the sklearn.manifold.MDS function. The dissimilarity between some elements in this matrix is not meaningful and I am thus wondering if there is a way to run MDS on a sparse matrix or on a matrix with missing values? According to this question, dissimilarities with 0 are considered as missing values, but I was unable to find this statement in the official documentation. Isn't a dissimilarity with value 0 interpreted as points that are very close to each other?
Any suggestions how to obtain a lower-dimensional representation of my high-dimensional dataset based on a sparse dissimilarity matrix would be welcome. Thanks!
回答1:
Thanks for the hint to that question! I looked into the code:
For zeros on the non-diagonal to be interpreted as missing values you need to use the non-metric version of the MDS using the SMACOF algorithm by MDS(metric=False)
.
I have the same issue and until now I only see the alternative to do matrix completion on the distance matrix before applying MDS.
来源:https://stackoverflow.com/questions/43541330/multidimensional-scaling-with-missing-values-in-dissimilarity-matrix