9

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!

Community
  • 1
  • 1
Nadja Herger
  • 185
  • 1
  • 6

2 Answers2

2

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.

Jojo
  • 427
  • 3
  • 8
0

Similarity = 1 - Dissimilarity

If you have Dissimilarity=0, Thus you're having Similarity=1 & thus, your points are similar in your space

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
JeeyCi
  • 354
  • 2
  • 9