收藏 分享(赏)

西电数据挖掘大作业k-means和k-medoids.doc

上传人:精品资料 文档编号:7738041 上传时间:2019-05-25 格式:DOC 页数:14 大小:889.43KB
下载 相关 举报
西电数据挖掘大作业k-means和k-medoids.doc_第1页
第1页 / 共14页
西电数据挖掘大作业k-means和k-medoids.doc_第2页
第2页 / 共14页
西电数据挖掘大作业k-means和k-medoids.doc_第3页
第3页 / 共14页
西电数据挖掘大作业k-means和k-medoids.doc_第4页
第4页 / 共14页
西电数据挖掘大作业k-means和k-medoids.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、 题 目: 数据挖掘 学 院: 电子工程学院 专 业: 智能科学与技术 学生姓名: * 学 号: 02115* k-means 实验报告一、 waveform 数据1、 算法描述1. 从数据集 中任意选取 k 个赋给初始的聚类中心 c1, c2, X1, ck;2. 对数据集中的每个样本点 xi,计算其与各个聚类中心 cj的欧氏距离并获取其类别标号:()=arg |2,=1, =1,3. 按下式重新计算 k 个聚类中心;= :()= ,=1,2,重复步骤 2 和步骤 3,直到达到最大迭代次数为止2、 实验结果二、 图像处理1、 算法描述同上;2、 实验结果代码:k_means:%K_means

2、%函数说明%输入:% sample样本集;% k 聚类数目;%输出:% y 类标(从0开始)% cnew 聚类中心% n 迭代次数function y cnew n=k_means(sample,k)N V=size(sample); %N为样本的个数 K为样本的维数 y=zeros(N,1); %记录样本类标dist=zeros(1,k); rand_num=randperm(N);cnew=(sample(rand_num(1,1:k),:);% 随机初始化聚类中心cold=zeros(k,V);n=0;while(cold=cnew)cold=cnew;n=n+1; %记录迭代次数%对样

3、本进行重新分类for i=1:Nfor j=1:kif(V=1)dist(1,j)=abs(sample(i,:)-cold(j,:);elsedist(1,j)=norm(sample(i,:)-cold(j,:);endendfor s=1:kif(dist(1,s)=min(dist)y(i,1)=s-1;endendend%更新聚类中心cnew=zeros(k,V);flag=zeros(k,1);for i=1:Nfor j=1:kif (y(I,1)=j-1)flag(j,1)=flag(j,1)+1;cnew(j,=cnew(j,+sample(I,;endendendfor j

4、=1:kcnew(j,=cnew(j,/flag(j,1);endendk_means_waveform:clear;clc;%数据读入%data=load(G:西电2014大三下大作业Data Mining k_meanswaveform.data);N K=size(data); %数据集的数目data0=zeros(1,K);data1=zeros(1,K);data2=zeros(1,K);for i=1:Nif(data(i,K)=0)data0=cat(1,data(i,:),data0);elseif(data(i,K)=1)data1=cat(1,data(i,:),data1

5、); elsedata2=cat(1,data(i,:),data2);endendsample=cat(1,data0(1:100,:),data1(1:100,:),data2(1:100,:);label=sample(:,K); %样本的正确类标sample=sample(:,1:K-1); %样本集k=3; %聚类中心的数目%K_means%y cnew n=k_means(sample,k);%正确率统计 %sum=zeros(1,6);N V=size(sample);for i=1:Nif(y(i,1)=label(i,1)sum(1,1)=sum(1,1)+1;endendf

6、or i=1:Nif(y(i,1)+label(i,1)=2)sum(1,2)=sum(1,2)+1;endendfor i=1:Nif(y(i,1)=0)endendfor i=1:Nif(y(i,1)=0)endendfor i=1:Nif(y(i,1)=0)endendfor i=1:Nif(y(i,1)=0)endendsum=sum/N;creatrate=max(sum);disp(循环次数: );disp(n);disp(聚类中心为: );disp(cnew);disp(正确率为: );disp(creatrate);k_means_picture:clear;clc;%数据读入

7、%I1=imread(G:西电2014大三下大作业Data Mining k_meanslena.jpg);I2=rgb2gray(I1);% 转化为灰度图像I=im2double(I2);num v=size(I);sample=reshape(I,v*num,1);% 样本集k=2; %聚类中心的数目%K_means%y cnew n=k_means(sample,k);%v%I3=sample;if(cnew(1,1)=cnew(2,1)F0=255;F1=0;elseF0=0;F1=255;endfor i=1:num*vif(y(i,1)=0)I3(i,1)=F0;elseI3(i,

8、1)=F1;endendI3=reshape(I3,num,v);figure(1)subplot(1,3,1); imshow(I1);title(原图像);subplot(1,3,2);imshow(I2);title(灰度图像);subplot(1,3,3);imshow(I3);title(二值化图像);k_medoids 实验报告一、 waveform 数据1、 算法描述(1)随机选择 k 个对象作为初始的代表对象;(2) repeat(3) 指派每个剩余的对象给离它最近的代表对象所代表的簇;(4) 随意地选择一个非代表对象 Orandom;(5) 计算用 Orandom 代替 Oj

9、 的总代价 S;(6) 如果 S0.001)%将所有样本分配到最近的代表点for i=1:Nfor j=1:kdist(1,j)=norm(sample(i,:)-med(j,:);endtemp(i,1)=min(dist);for s=1:kif(dist(1,s)=temp(i,1)temp(i,2)=s;endendendy=temp(:,2);Eold=sum(temp(:,1);%随机的选择一个非代表点,生成新的代表点集合index=index+1;med_temp=med;E=zeros(1,k);for j=1:kmed_temp(j,:)=sample(index,:);%将

10、所有样本分配到最近的代表点for i=1:Nfor t=1:kdist(1,t)=norm(sample(i,:)-med_temp(t,:);endtemp(i,1)=min(dist);for s=1:kif(dist(1,s)=temp(i,1)temp(i,2)=s;endendendE(1,j)=sum(temp(:,1);endEnew=min(E);for t=1:kif(E(1,t)=Enew)obest=t;endendif(Enew=med(2,1)F0=255;F1=0;elseF0=0;F1=255;endfor i=1:num*vif(y(i,1)=1)I3(i,1)=F0;elseI3(i,1)=F1;endendI3=reshape(I3,num,v);figure(1)subplot(1,4,1); imshow(I0);title(原图像);subplot(1,4,2);imshow(I1);title(加噪声后的图像);subplot(1,4,3);imshow(I2);title(灰度图像);subplot(1,4,4);imshow(I3);title(二值化图像);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报