【问题标题】:Convert co-occurrence matrix to dissimilarity matrix for MDS in scikit-learn将 scikit-learn 中 MDS 的共现矩阵转换为相异矩阵
【发布时间】:2020-10-29 23:23:45
【问题描述】:

我有一个单词共现矩阵,如下所示。我想使用 MDS 来减少尺寸并绘制它。在 sklearn 中有一个函数model = MDS(n_components=2, dissimilarity='precomputed', random_state=1) 并应用模型output = model.fit_transform(input)我的理解是输入应该是一个相异矩阵而不是我所拥有的相似矩阵。那是对的吗?有没有可以用来转换这个共现相异矩阵的函数?我对此很陌生。非常感谢您的帮助。

co-occurrence matrix :
        word1       word2      word3 ...
word1.    0           1          3
word2     1           0          5
word3     3           5          1
...

【问题讨论】:

    标签: python machine-learning scikit-learn mds multi-dimensional-scaling


    【解决方案1】:

    可能为时已晚,但我可能有一个答案要提议。

    我使用了一个相似度矩阵(对角线全为 1,这不是你的情况),并找到了一个简单的公式将其转换为相异度矩阵:(1 - 单元格) 但是,我的主管发现了另一个公式(我找不到参考),它似乎可以管理具有不同值的对角线。我提供了一些细节in this thread,但我的 AWK 程序无法应用于您的数据(因为我简化了公式来管理我的情况,我的对角线只有 1 个)。

    适合你的公式是:

    在我的情况下,对角线为 1,我将其简化为:

    希望对你有帮助! :) 但也许我错了。如果是这样,我有兴趣了解详情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-12
      • 2016-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-17
      • 2015-08-04
      相关资源
      最近更新 更多