资源简介
密度聚类中的DBSCAN代码,根据周志华的《机器学习》中的伪代码编写,直接调用就可以使用,内部有注释
代码片段和文件信息
function [kC] = DBSCAN(epsMinPtsD)
% k 聚类个数
% C 聚类得到的簇
%D 数据集
%eps 邻域参数
%MinPts 领域参数
%设置参数
O = zeros(1 size(D 1)); %核心对象集
C = cell(size(D1)); %聚类簇
%% 找出核心对象
d = zeros(size(D 1) size(D 1));
distance = ‘euclidean‘;
for i = 1:size(D 1)
for j = size(D 1):-1:i
if pdist(D([i j]:)distance) <= eps %计算样本行与行之间的距离,样本之间的距离小于eps元素值为1,反之0
d(i j) = 1;
end
d(j i) = d(i j); %d为对称矩阵
end
%d(ii) = 0;
if sum(d(:i)) >= MinPts
O(i) = i; %找到核心对象
end
end
% O(O==0) = []; %O中的元素去零
% disp(O)
%% 找出由密度可达样本生成的聚类簇
k = 0; %初始化聚类簇数
Tau = 1:size(D 1); %初始化未访问样本集合
while sum(O) ~= 0
Tau_old = Tau; %记录当前未访问样本集合
%随机选取一个核心对象j
j = 1;
while O(j) == 0
j = j+1;
end
Q = zeros(1 size(
- 上一篇:一键生成窗户
- 下一篇:模拟退火算法解决0-1背包问题
相关资源
- 模拟退火算法解决0-1背包问题
- optisystem与matlab联合仿真
- 2019_OFDM仿真源代码_Matlab_附解释_完整
- matlab实现运动目标检测与最小外接矩
- 函数优化测试函数(matlab).zip
- 图像分割度量标准--matlab代码
- 极化SAR S转化为T matlab
- GAN程序matlab仿真
- MATLAB R2018a Win64 Crack.zip
- 傅里叶逆变换方法生成路面时域模型
- MATLAB求曲线长度、宽度、面积的code
- 蚁群算法MATLAB代码287131
- TOPSIS的MATLAB算法实现
- QR二维码识别。MATLAB,zxingGUI
- census算法matlab程序
- 批量读取同一文件夹下所有excel指定单
- surf matlab源代码
- MATLAB常用函数大全
- 光伏并网开环控制
- 遗传算法对于模糊控制规则的优化用
- 转子动力学传递矩阵法matlab计算程序
- BP神经网络matlab(简单而经典).doc
- 2018年数学建模国赛A题matlab代码及注释
- 2017年数学建模国赛B题matlab代码及注释
- 2016年全国数学建模A题matlab代码.rar
-
非线性鲁棒控制 simuli
nk仿真 - 现代设计方法——matlab脚本鲍威尔法
- 多智能体MATLAB方针代码
- 含有MPPT的太阳能光伏系统模型
- MPSK通信系统的Monte Carlo仿真
评论
共有 条评论