matlab 密度聚类中心点,密度峰值聚类算法MATLAB程序

密度峰值聚类算法MATLAB程序数据见:MATLAB中“fitgmdist”的用法及其GMM聚类算法,保存为gauss_data.txt文件,数据最后一列是类标签。1. MATLAB程序clear allclose alldata_load=dlmread('gauss_data.txt');[num,dim]=size(data_load); %数据最后一列是类标签data=data_load(...
摘要由CSDN通过智能技术生成

密度峰值聚类算法MATLAB程序

数据见:MATLAB中“fitgmdist”的用法及其GMM聚类算法,保存为gauss_data.txt文件,数据最后一列是类标签。

1. MATLAB程序

clear all

close all

data_load=dlmread('gauss_data.txt');

[num,dim]=size(data_load); %数据最后一列是类标签

data=data_load(:,1:dim-1); %去掉标签的数据

mdist=pdist(data); %两两行之间距离

A=tril(ones(num))-eye(num);

[x,y]=find(A~=0);

% Column 1: id of element i, Column 2: id of element j', Column 3: dist(i,j)'

xx=[x y mdist'];

ND=max(xx(:,2));

NL=max(xx(:,1));

if (NL>ND)

ND=NL;

end

N=size(xx,1);

for i=1:ND

for j=1:ND

dist(i,j)=0;

end

end

for i=1:N

ii=xx(i,1);

jj=xx(i,2);

dist(ii,jj)=xx(i,3);

dist(jj,ii)=xx(i,3);

end

percent=2.0;

fprintf('average percentage of neighbours (hard coded): %5.6f\n', percent);

position=round(N*percent/100);

sda=sort(xx(:,3));

dc=sda(position);

fprintf('Computing Rho with gaussian kernel of radius: %12.6f\n', dc);

for i=1:ND

rho(i)=0.;

end

%

% Gaussian kernel

%

fo

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值