西电数据挖掘大作业-密度聚类DBSCAN_第1页
西电数据挖掘大作业-密度聚类DBSCAN_第2页
西电数据挖掘大作业-密度聚类DBSCAN_第3页
西电数据挖掘大作业-密度聚类DBSCAN_第4页
西电数据挖掘大作业-密度聚类DBSCAN_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题 目: 数据挖掘实验报告 学 院: 电子工程学院 专 业: 智能科学与技术 学生姓名: * 学 号: 02115* 数据挖掘实验报告 密度聚类DBSCAN一、 问题介绍用DBSCAN的方法对双层正方形数据和三维同心球数据进行聚类。其中样本个数为20000,且为均匀分布。二、 算法描述输入: espilong半径 MinPts 给定点在espilong邻域内成为核心对象的最小领域点数data集合输出:目标类簇集合;聚类数方法:1) 标记所有对象为unvisited;2) do3) 随机选择一个unvisited对象p;4) 标记p为visited;5) if p的espilong邻域至少有MinPts个对象6) 创建一个新簇C7) 令N为p的espilong邻域中的对象的集合8) for N中的每个点p9) if p是unvisited10) 标记p为visited11) if p的espilong邻域至少有MinPts个对象12) 把这些对象添加到N中13) if p还不是任何簇的成员14) 把p添加到c15) end for16) else17) 标记p为噪声18) until 没有标记为unvisited的对象三、 实验结果由于考虑到内存问题,所以这里只取2000个数据1、 双层正方形数据由多次实验可知epsilong=10 MinPts=202、 三维同心球数据由多次实验可知epsilong=5 MinPts=7四、 实验代码l DBSCAN%DBSCAN%输入:% data包含n个对象的数据集% epsilon半径参数% MinPts邻域密度阈值%输出:% y基于密度的簇的分类% c类别数function y c=DBSCAN(data,epsilong,MinPts)num=size(data,1);N=zeros(1,1);c=1;visited=zeros(num,2);dis=zeros(num,num);for i=1:num for j=1:num dis(i,j)=norm(data(i,:)-data(j,:); endendwhile(min(visited(:,1)=0) %随机选择一个未访问过的对象p while(1) p=round(num*rand); if(p=0) p=1; end if(visited(p,1)=0) break; end end %标记p为visited visited(p,1)=1; %判断p的epsilong邻域内对象的个数 row col=find(dis(p,:)=epsilong); n=size(col,2); if(n1) pp=N(1,2); if(visited(pp,1)=0) visited(pp,1)=1; prow pcol=find(dis(pp,:)=MinPts) N=cat(2,N,pcol); end end if(visited(pp,2)=0)|(visited(pp,2)=-1) visited(pp,2)=c; end v=size(N,2); N=N(:,2:v); end %簇c生成 c=c+1; end endy=visited(:,2);c=c-1;endl creatdata_squareclear;clc;%数据生成num=2000;data=zeros(num,2);for i=1:num/2 data(i,1)=-50+100*rand; data(i,2)=-50+100*rand; endwhile(i=num) x=-100+200*rand; y=-100+200*rand; if(x=-50&x=-50&y=50) i=i; else i=i+1; data(i,1)=x; data(i,2)=y; endend %利用DBSCAN进行聚类epsilong=10;MinPts=20;y c=DBSCAN(data,epsilong,MinPts);%结果显示disp(sprintf(聚类数为%d,c);linetype=r*,b*,g*,k*,y*,c*,r,k,b,g,y,c;for i=1:num if(y(i,1)=-1) plot(data(i,1),data(i,2),linetypey(i,1); else plot(data(i,1),data(i,2),linetypec+1); end hold on;endaxis(-100 100 -100 100);l creatdata_circleclear;clc;%数据生成num=2000;data=zeros(num,3);for i=1:num/2 rho=50*rand; theta=2*pi*rand; phi=pi*rand; data(i,1)=rho*sin(phi)*cos(theta); data(i,2)=rho*sin(phi)*sin(theta); data(i,3)=rho*cos(phi); endfor j=1:num/2 i=j+num/2; rho=50+50*rand; theta=2*pi*rand; phi=pi*rand; data(i,1)=rho*sin(phi)*cos(theta); data(i,2)=rho*sin(phi)*sin(theta); data(i,3)=rho*cos(phi); end%利用DBSCAN进行分类epsilong=5;MinPts=7;y c=DBSCAN(data,epsilong,MinPts);%disp(sprintf(聚类数为%d,c);linetype=r*,b*,g*,k*,c*,y*,r,k,b,g,y,c;for i=1:num if(y(i,1)=-1) plot3(data(i,1),data(i,2),

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论