DBSCAN聚类算法matlab代码

  • B4_856028
    了解作者
  • matlab
    开发工具
  • 2.6KB
    文件大小
  • 7z
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-02-21 16:37
    上传日期
DBSCAN聚类算法matlab代码,内包含测试数据,下载可以直接运行。
testDBSCAM_matlab.7z
  • testDBSCAM_matlab
  • main.m
    2.6KB
  • PlotClusterinResult.m
    1.1KB
  • DBSCAN.m
    1.6KB
内容介绍
% Copyright (c) 2015, Yarpiz (www.yarpiz.com) % All rights reserved. Please read the "license.txt" for license terms. % % Project Code: YPML110 % Project Title: Implementation of DBSCAN Clustering in MATLAB % Publisher: Yarpiz (www.yarpiz.com) % % Developer: S. Mostapha Kalami Heris (Member of Yarpiz Team) % % Contact Info: sm.kalami@gmail.com, info@yarpiz.com clc; clear; close all; %% test Data %数据下载网站:http://archive.ics.uci.edu/ml/machine-learning-databases/iris/ %这里使用的iris数据的一部分,由于第3维和第4为数据数据区分度好,因此用3、4维数据测试 X1 =[5.1,3.5,1.4,0.2;%,Iris-setosa 4.9,3.0,1.4,0.2; 4.7,3.2,1.3,0.2; 4.6,3.1,1.5,0.2; 5.1,3.7,1.5,0.4; 4.6,3.6,1.0,0.2; 5.1,3.3,1.7,0.5; 5.0,3.6,1.4,0.2; 5.4,3.9,1.7,0.4; 4.6,3.4,1.4,0.3; 5.0,3.4,1.5,0.2; 4.4,2.9,1.4,0.2; 4.9,3.1,1.5,0.1; 5.4,3.7,1.5,0.2; 4.8,3.4,1.6,0.2; 4.8,3.0,1.4,0.1; 4.3,3.0,1.1,0.1; 5.8,4.0,1.2,0.2; 5.7,4.4,1.5,0.4; 5.4,3.9,1.3,0.4; 5.1,3.5,1.4,0.3; 5.7,3.8,1.7,0.3; 5.1,3.8,1.5,0.3; 5.4,3.4,1.7,0.2; 6.4,3.2,4.5,1.5;%Iris-versicolor 6.9,3.1,4.9,1.5; 5.5,2.3,4.0,1.3; 6.5,2.8,4.6,1.5; 5.7,2.8,4.5,1.3; 6.3,3.3,4.7,1.6; 4.9,2.4,3.3,1.0; 4.9,2.4,3.3,1.0; 6.6,2.9,4.6,1.3; 5.2,2.7,3.9,1.4; 5.0,2.0,3.5,1.0; 5.9,3.0,4.2,1.5; 6.0,2.2,4.0,1.0]; X=X1(:,3:4); %%KNN k distance graph, to determine the epsilon A=X; Kvalue=4; numData=size(A,1); Kdist=zeros(numData,Kvalue); [IDX0,Dist]=knnsearch(A(2:numData,:),A(1,:),'K',Kvalue); Kdist(1,:)=Dist; for i=2:size(A,1) [IDX0,Dist] = knnsearch(A([1:i-1,i+1:numData],:),A(i,:),'K',Kvalue); Kdist(i,:)=Dist; end Kdist1=reshape(Kdist,size(Kdist,1)*size(Kdist,2),1); [sortKdist,sortKdistIdx]=sort(Kdist1,'descend'); distX=[1:numData*Kvalue]'; plot(distX,sortKdist,'r+-','LineWidth',2); set(gcf,'position',[1000 340 350 350]); grid on; %% Run DBSCAN Clustering Algorithm epsilon= 0.15 ; MinPts= 3 ; IDX1=DBSCAN(X,epsilon,MinPts); %% Plot Results figure; PlotClusterinResult(X, IDX1); title(['DBSCAN Clustering (\epsilon = ' num2str(epsilon) ', MinPts = ' num2str(MinPts) ')']); set(gcf,'position',[30 -10 500 500]); epsilon= 0.25 ; MinPts= 3 ; IDX2=DBSCAN(X,epsilon,MinPts); %% Plot Results figure; PlotClusterinResult(X, IDX2); title(['DBSCAN Clustering (\epsilon = ' num2str(epsilon) ', MinPts = ' num2str(MinPts) ')']); set(gcf,'position',[530 -10 500 500]); epsilon= 0.5 ; MinPts= 3 ; IDX3=DBSCAN(X,epsilon,MinPts); %% Plot Results figure; PlotClusterinResult(X, IDX3); title(['DBSCAN Clustering (\epsilon = ' num2str(epsilon) ', MinPts = ' num2str(MinPts) ')']); set(gcf,'position',[30 380 500 500]);
评论
    相关推荐
    • Matlab合集
      冈萨雷斯数字图像处理MATLAB版.中文版+数字图像处理第二版中文版(冈萨雷斯)+MATLAB-R2014a完全自学一本通+MATLAB R2016a完全自学一本通 素材文件+[模式识别与智能计算:MATLAB技术实现(第2版)].杨淑莹.扫描版
    • MATLAB教程
      MATLAB教程MATLAB教程MATLAB教程MATLAB教程MATLAB教程MATLAB教程
    • MATLAB
      MATLAB 该项目是在matlab上完成的,涉及创建和移动宇宙飞船和机器人。 太空飞船和机器人是使用Matlab中的简单几何形状创建的,并通过连续变换矩阵进行移动。 这个项目教我如何使用变换矩阵(旋转,平移等)的概念...
    • MATLAB基础
      一本学习matlab的一本好书
    • MATLAB编译器
      基于MATLAB 2018b版本介绍MATLAB编译器。介绍如何利用编译器将MATLAB代码编译为独立应用程序或组件,并在没有安装MATLAB的计算机上进行部署。
    • matlabruntime
      通过奇点容器运行您的matlab项目 可以在没有MATLAB的容器中运行matlab代码。 为此,我们首先需要通过Matlab编译器在本地构建相应的Matlab代码的独立应用程序,然后使用具有Matlab运行时( 的容器)运行该应用程序 )...
    • matlab实现
      matlab实现 matlab实现matlab实现matlab实现matlab实现
    • matlab 教程
      matlab 信号处理资料,里面包含信号处理pdf文档,一些杂乱的程序和命令等
    • matlab教程
      matlab教程,PPT格式,包含 matlab基本知识、matlab入门、matlab作图、线性规划、无约束优化、非线性规划、统计工具箱、差值、微分方程等多项知识点,并且每个知识点独立成为PPT,内还含有matlab信号处理详解等文档...
    • matlab简介
      1.MATLAB 开发环境 1.1 MATLAB 的视窗环境 进入MATLAB之后,会看到一个视窗MATLAB Command Window称为指令视窗,它是你键入指令的地方同时 MATLAB也将计算结果显示在此。 1.2 简易计算 我们先从MATLAB的...