首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解pdist与mdscale的结合使用

理解pdist与mdscale的结合使用
EN

Stack Overflow用户
提问于 2016-01-26 14:03:32
回答 1查看 318关注 0票数 0

我正在解决一个杂务问题。

我有一套100 observatons。每个观察用三个特征来描述。我必须将这些观察分为两组(我有每个观察的标签)。

在对观测数据进行聚类之前,我首先计算了观测值之间的pdist,然后使用MATLAB中的mdscale函数返回到三维。我使用transformed_observation作为k均值聚类算法的输入,与使用原始观测值相比,获得了更好的聚类结果(即,聚类与标签匹配)。任何人都能解释我为什么?我刚试过..。

在这里你可以找到我的脚步..。

代码语言:javascript
复制
% select the dimensions of my features
dimensions = 3;

% generate an example data set
observations = rand(100,dimensions);

% if yes use the combination of pdist + mdscale
use_dissimilarity = 'yes';

if strcmp(use_dissimilarity,'yes')
  %compute pdist between features
  dissimilarity = pdist(observations,@kullback_leibler_divergence);
  %re-transform features in 3 dimensions                             
  transformed_observations = mdscale(dissimilarity,dimensions);
else
  transformed_observations = observations;
end

%cluster observations 
numbercluster = 2;
[IDX, clustercentroids] = kmeans(transformed_observations, numbercluster,...
                    'emptyaction','singleton',...
                    'replicates',11,'display','off');
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-27 01:19:45

pdist计算成对的距离(使用KL-散度)。

mdscale (多维尺度)现在将尝试将距离嵌入到欧几里德向量空间中,这样它们才能得到最好的保存。

K-意味着只适用于的平方欧氏距离(以及其他几个Bregman分歧)。

因此,在我看来,Matlab允许您使用其他几个距离是一个错误:

“‘sqeuclidean”(默认)、“cityblock”、分部、“余弦”、“相关性”、“AC.26”、“hamming”

如果KL-散度适合于您的数据集,这并不奇怪,因为这个构造允许使用k-均值(近似于)KL-散度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35015642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档