资源简介
基于MATLAB的密度聚类程序,DBSCAN.m,运行正确。
代码片段和文件信息
function [classtype]=dbscan(xMinpEps)
% Function: [classtype]=dbscan(xkEps)
% 基于密度的聚类算法(DBSCAN)
% 输入:
% x - 数据 设置为(mn); m-目标数 n-变量数(维数)
% Minp - number of objects in a neighborhood of an object
% (能够被认为是一个类的最少目标数)
% Eps - neighborhood radius if not known put []
%
% 输出:
% class - vector specifying belongingness of the i-th object to certain cluster (m1)
% 指定第i个目标所属类的向量
% type - vector specifying type of the i-th object (core: 1 border: 0 outlier: -1)
% 指定第i个目标的类型(中心:1,边境:0,离群:-1)
% Example of use:
% x=[randn(302)*.4;randn(402)*.5+ones(401)*[4 4]];
% [classtype]=dbscan(x5[])
%
% References:
% [1] M. Ester H. Kriegel J. Sander X. Xu A density-based algorithm for discovering
% clusters in large spatial databases with noise proc. 2nd Int. Conf.
% on Knowledge Discovery and Data Mining Portland OR 1996 p. 226
% available from: www.dbs.informatik.uni-muenchen.de/cgi-bin/papers?query=--CO
% [2] M. Daszykowski B. Walczak D. L. Massart Looking for Natural Patterns in Data.
% Part 1: Density based Approach Chemom. Intell. Lab. Syst. 56 (2001) 83-92
% Michal Daszykowski
% Department of Chemometrics
% The University of Silesia
% 9 Szkolna Street
% 40-006 Katowice Poland
[mn]=size(x);
k=Minp;
if nargin<3 || isempty(Eps)
[Eps]=epsilon(xk);
end
x=[(1:m)‘ x];
[mn]=size(x);
type=zeros(1m);
no=1;
touched=zeros(m1);
for i=1:m
if touched(i)==0;
ob=x(i:);
D=dist(ob(2:n)x(:2:n));
ind=find(D<=Eps);
if length(ind)>1 && length(ind) type(i)=0;
class(i)=0;
end
if length(ind)==1
type(i)=-1;
class(i)=-1;
touched(i)=1;
end
if length(ind)>=k+1;
type(i)=1;
class(ind)=ones(length(ind)1)*max(no);
相关资源
- 组合导航matlab程序
- 替代数据法的matlab程序
- 神经网络分类matlab程序
- matlab程序用Hopfield网络解决TSP
- 多用户检测MATLAB程序
- 实现2ask.4ask.2fsk.4fsk.qam16.qam8调制的m
- 曲线旋转得到曲面的MATLAB程序
- 主动轮廓模型算法matlab程序
- Lozi混沌系统相关分析的MATLAB程序
- 用蚁群算法求解TSP问题的matlab程序
- 分数阶chen混沌matlab程序
- 基于粒子群算法的非合作博弈的matl
- KF+EKF matlab程序实现
- 圆拟合matlab程序,以及圆心 半径的确
- stlwritematlab程序
- 层次分析法的matlab程序
- 泊松过程的模拟及检验 matlab程序
- 世上最牛的23个图像跟踪算法MATLAB程序
- 散点拟合平面的MATLAB程序
- 信号检测与估计-理论与应用答案及
- ROC曲线MATLAB程序
- dijkstra算法改进的matlab程序能求出两点
- EEMD的MATLAB程序
- 基于遗传算法的机器人路径规划matl
- 基于自适应压扩法降低OFDM系统的峰均
- 求露点温度matlab程序
- 计算图像Spatial Frequence的Matlab程序SF
- 德州扑克获胜概率计算的MATLAB程序
- 数模美赛常用模型算法matlab程序包+数
- 遗传算法完整MATLAB程序实数法,轮盘
评论
共有 条评论