西电数据挖掘大作业k-means和k-medoids培训讲学.docxVIP

  • 3
  • 0
  • 约7.98千字
  • 约 13页
  • 2020-11-22 发布于天津
  • 举报

西电数据挖掘大作业k-means和k-medoids培训讲学.docx

题 目: 学 院: 专 业: 学生姓名: 学 号:数据挖掘电子工程学院智能科学与技术02115 题 目: 学 院: 专 业: 学生姓名: 学 号: 数据挖掘 电子工程学院 智能科学与技术 02115 *** k-means实验报告 一、 waveform 数据 1、 算法描述 从数据集中任意选取k个赋给初始的聚类中心ci, C2,…, Ck; 对数据集中的每个样本点Xi,计算其与各个聚类中心Cj的欧氏 距离并获取其类别标号: label^i) = arg mm |図—= 1k 按下式重新计算k个聚类中心; 「「I s: label (s) = j C:= 重复步骤2和步骤3,直到达到最大迭代次数为止 2、 实验结果 Command tendon 口 k x 罷棗口心为? Calnart 1 Through 10 -C. LOOS C. Z371 0L SZld 0. ;7O 0. 1. 3523 2. 0 r IE 2. .22 71 2.1E77 二 510B G. ttPO 0. 4365 t. 0306 L 5420 2.25611 2.S45P 4. 0522 3 9257 3. B2Sf 3-8155 七 L2T (X U79 0. 0;87 -0. W02 eom a isoi a 6271 0. 037 ?. €D3B L 486 2c)u3ir5 11 沁Dtch ZC 2. 9H7 3 . ?434 1 047E J 2714 3. U07 2. 5349 1. 7933 L. 3905 0. B588 0.034 A a. 2.9263 Lsiee 1.4122 0? 9013 Q.6O13 0, 1964 -a 1281 D. ie24 CL D7S7 2, 3.. LSD6 1 7S61 i E151 5. 3E03 1. 36fi 1 1 522E 1 2976 : 0.8M5 Cellis;; 21 0. oe吧 -€ K15 -0. 0251 F誦%为- 0. 6367 二、图像处理 1、 算法描述 同上; 2、 实验结果 代码: k_mea ns: %%%%%%%%%K_mea ns%%%%%%%% %%%%%%%%数说明 %%%%%%%% %输入: % sample 样本集; % k 聚类数目; %输岀: % y 类标(从0开始) % cn ew 聚类中心 % 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; %记录迭代次数 %对样本进行重新分类 for i=1:N for j=1:k if (V==1) dist(1,j)=abs(sample(i,:)-cold(j,:)); else dist(1,j)=norm(sample(i,:)-cold(j,:)); end end for s=1:k if (dist(1,s)==min(dist)) y(i,1)=s-1; end end end %更新聚类中心 cnew=zeros(k,V); flag=zeros(k,1); for i=1:N for j=1:k if (y(I,1)==j-1) flag(j,1)=flag(j,1)+1; cnew(j, ? =cnew(j, ? +sample(I, ? ; end end end for j=1:k cnew(j, ? =cnew(j, ? /flag(j,1); end end k_means_waveform: clear;clc; %%%%%%%%数%据读入 %%%%%%% data=load( 西电 \2014 大三下 大作业 \Data Mining\ k_means\waveform.data ); [N K]=size(data); %数据集的数目 data0=zeros(1,K); data1=zeros(1,K); data2=zeros(1,K); for i=1:N if (data(i,K)==0) data0=cat(1,data(i,:),data0); elseif (data(i,K)==1) data1=cat(1,data(i,:),data1); else data2=cat(1,data(i

文档评论(0)

1亿VIP精品文档

相关文档