【问题标题】:How do I make a Mahalanobis distance matrix in MATLAB?如何在 MATLAB 中制作马氏距离矩阵?
【发布时间】:2017-12-07 10:15:55
【问题描述】:

我有一个数据集,每个样本重复 5 次,有 25 个变量。 我正在尝试使用这些参数在所有样本之间制作马氏距离矩阵。我使用了“mahal”函数,但这给出了每个重复的所有距离的向量。如何制作样本之间的距离矩阵 (38*38) 而不是向量 (1*190)?

【问题讨论】:

    标签: matlab matrix mahalanobis


    【解决方案1】:

    对于一些测试数据:

    X = rand(38,25); % some random test data with 38 observations and 25 variables
    X = repmat(X,5,1); % 5 duplicates of each observation
    

    你可以使用:

    X = unique(X,'rows'); % remove duplicate observations
    D = pdist(X,'mahalanobis'); % distance between all remaining observations
    Z = squareform(D); % to square matrix format
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-21
      • 1970-01-01
      • 2012-07-31
      • 1970-01-01
      • 2014-01-21
      • 2013-11-24
      • 1970-01-01
      相关资源
      最近更新 更多