我希望这是发布的正确位置 - 如果不是,我愿意更改为 SO。

无论如何,我使用 MDS 来帮助我找到数据集的二维表示。从本质上讲,这些是多年蛋白质数据中氨基酸残基的 pKa 值 - 其核心是相同尺度的十进制数。有很多职位(~600 行),还有很多年(~12 列)。

我的问题是:MDS 的正确输入是数据矩阵(年与职位),还是我可以放入相关矩阵(年与年)?我问是因为 API 文档与书面描述冲突。

API 文档说数据矩阵:http://scikit-learn.org/stable/modules/generated/sklearn.manifold.MDS.html#sklearn.manifold.MDS(即 n_samples、n_features)。

书面描述说“输入相似度矩阵”:http://scikit-learn.org/stable/modules/manifold.html

最佳答案

如果您将 dissimilarity='euclidean' 传递给初始估计器(或默认情况下),它将采用数据矩阵并为您计算欧几里得距离矩阵。

如果你通过 dissimilarity='precomputed' ,它需要一个相异矩阵。

不过,文档确实不是很清楚。我确信拉取请求在 X 参数的描述中添加一个简短的注释,并澄清 'euclidean' 是默认值(我必须检查源代码),将被接受。

关于python - scikit-learn 的 MDS 的正确输入是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25192093/

10-12 21:09