知识挖掘实验报告_第1页
知识挖掘实验报告_第2页
知识挖掘实验报告_第3页
知识挖掘实验报告_第4页
知识挖掘实验报告_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

实验一、Apriori算法发现频繁项集一、 实验目的:进一步熟悉Matlab编程算法;掌握使用Apriori算法从事物数据库中挖掘频繁项集的方法。二、 实验原理:1、 Apriori算法Apriori使用一种称作逐层搜索的迭代方法,k项集用于探索(k+1)项集。首先,通过扫描数据库,累计每个项的计数,并收集满足最小支持度的项,找出频繁1项集的集合。该集合记作L。然后,L用于找频繁2项集11的集合L,L用于找L,如此下去,直到不能再找到频繁k项集。找每个L2 2 3 k需要一次数据库全扫描。2、 提高频繁项集逐层产生的效率Apriori性质:频繁项集的所有非空子集也必须是频繁的。三、 实验内容:1、程序框图

(禅陆州陪)仗选1烦犯讥二站吾犬T旺大支持电二*¥ 7 锻摭1厢坐A^-'■扫描暫楣障.討环顶谡齐计数:-送祁尢下量一人 (禅陆州陪)仗选1烦犯讥二站吾犬T旺大支持电二*¥ 7 锻摭1厢坐A^-'■扫描暫楣障.討环顶谡齐计数:-送祁尢下量一人 Y 彳籾罄(齢"躯2、实验内容1)使用Aprior算法编程实现对实验数据中提供的AllElectroni某分店的事物数据库挖掘频繁项集,并在实验报告中写出程序框图;2)产生全部频繁模式,保留其中的闭频繁项集。3)在实验报告中写明各主要程序片段的功能和作用。3、实验步骤1)算法第一次迭代,每项都是候选1项集的集合C]的成员,简单的扫描所7 塔i也'ld-1)应朮对軒亍顶谡扣计数频景]顶黑性轴数K0臨对树亍瞬进行计数有的事物,对每项的出现次数计数;按先验的最小支持度计数阈值min_sup=2,确定频繁1项集的集合L”令i=1,N是Li中项的数量;调用子函数Join_Prune(Li,min_sup),存储频繁项集Li;子函数Join_Prune(Li,min_sup):对频繁i项集Li执行连接步,产生候选i+1项集Ci+1;对候选i+1项集Ci+1执行剪枝步,产生频繁i+1项集Li+1;返回频繁i+1项集Li+1。如果Ni+1>0,则令i=i+1,转到步骤3);否则,算法结束。4、实验数据AllElectronics某分店的事物数据TID商品ID的列表T10011,12,15T200I2,I4T300I2,I3T400I1,I2,I4T500I1,I3T600I2,I3T700I1,I3T800I1,I2,I3,I5T900I1,I2,I35、实验代码:function[C]=ExamDM1(AllETrans)[M,N]=size(AllETrans);Ni=5;fori=1:NiCC{i,1}=zeros(1,2);endfork=1:N[Mk,Nk]=size(AllETrans{k});fori=1:Nk

CC{AllETrans{k}(i),1}(1,1)=AllETrans{k}(i);CC{AllETrans{k}(i),1}(1,2)=CC{AllETrans{k}(i),1}(1,2)+1;endendC{1,1}=CC;NC=1;[MC2,NC2]=size(C{1,1});min_sup=2;whileNC<=NiNCifMC2>=2%Linkstep.%%Linkstep.%Scanningthetransaction%Pronestep.databasetocountthesupportnumber.[MC3,NC3]=size(CC1NC);NC=NC+1;kk=0;fork=1:MC3[MC4,NC4]=size(C1NC{k,1});ifCC1NC{k,1}(1,NC4)>=min_supkk=kk+1;C{1,NC}{kk,1}=CC1NC{k,1};endendelseNC=Ni+10;endend%Thefollowingis"link"function.function[C1NC,MC2]=Link(C1,Ni)[MC1,NC1]=size(C1);%C1NC{1,1}=zeros(1,NC1+1);MC2=0;fori=1:MC1-1i[MC1i,NC1i]=size(C1{i,1});Ii=zeros(1,Ni);forii=1:NC1i-1Ii(C1{i,1}(ii))=1;2endforj=i+1:MC1j[MC1j,NC1j]=size(C1{j,1});Ij=zeros(1,Ni);forjj=1:NC1j-1Ij(C1{j,1}(jj))=1;endI=Ii+Ij;N12=zeros(1,2);NC2=0;C12=zeros(1,1);fork=1:NiifI(k)>=1N12(1)=N12(1)+1;NC2=NC2+1;C12(1,NC2)=k;endifI(k)>=2N12(2)=N12(2)+1;endendC12(1,NC2+1)=0;ifN12(1)-N12(2)==2MC2=MC2+1;C1N{MC2,1}=C12(1,:);endendendC1NC{1,1}=C1N{1,1};MC1NC=1;ifMC2>=2fori=2:MC2KM=1;forj=1:MC1NCKM=KM*sum(abs(C1N{i,1}-C1NC{j,1}));endifKM~=0MC1NC=MC1NC+1;C1NC{MC1NC,1}=C1N{i,1}endendend% function[CC1NC]=ScanCount(C1NC,AllETrans,N,Ni)[MC,NC]=size(C1NC);fork=1:N[Mk,Nk]=size(AllETrans{k});

IScCo=zeros(l,Ni);forkk=1:NkIScCo(AllETrans{k}(kk))=l;endforkk=l:MC[MCi,NCi]=size(ClNC{kk});ClNCkklNCi=IScCo(ClNC{kk}(l));ifNCi>2fori=2:NCi-1ClNCkklNCi=ClNCkklNCi*IScCo(ClNC{kk}(i));endClNC{kk}(l,NCi)=ClNC{kk}(l,NCi)+ClNCkklNCi;endendendCC1NC=C1NC;四、实验结果:鞘苗髦116寻丫Stack:鞘苗髦116寻丫Stack:12341<5x1cell><6x1cell><2x1cell>23121I [1612[2门3[36]4[42]5[52]678g1011121314151617<1111::CxC{1,1}X潘宜HirayEditoi:—JiIfeBS Ft曲stack;实验二使用FP增长算法挖掘频繁项集一、 实验目的1) 进一步熟悉Matlab编程环境;2) 掌握使用频繁模式(FP)增长算法从事物数据库中挖掘频繁项集的方法。二、 实验原理1、建立频繁模式(FP)树先对事物数据集扫描,得到频繁1项集的集合和支持度计数,并按支持度计数递减对频繁1项集中的各项排序;按每条事物再次扫描事物数据集,依照上次扫描的支持度计数递减排序,从根节点对每个事物创建一条分支(尽量共享已存在的前缀,共享一次节点计数加1),得到频繁模式(FP)树。2、频繁模式树的挖掘过程由每个长度为1的频繁模式(初始后缀模式)开始,构造它的条件模式基(一个“子数据库”由FP树中与后缀模式一起出现的前缀路径集组成),然后,构造它的条件FP树,并递归地进行数据挖掘。模式增长通过后缀模式与条件FP树产生的频繁模式连接实现。三、实验内容:1、程序框图取头指针表中的每个频繁元素在树的各个路径中获得此元素的条件模式基根据这些条件模式基创建FP树2、实验内容使用Apriori算法编程实现对实验数据中提供的AllElectronics某分店的事物数据库挖掘频繁项集,并在实验报告中写出程序框图;产生全部频繁模式,保留其中的闭频繁项集。在实验报告中写明各主要程序片段的功能和作用。3、 实验步骤算法第一次迭代,每项都是候选1项集的集合q的成员,简单的扫描所有的事物,对每项的出现次数计数;按先验的最小支持度计数阈值min_sup=2,确定频繁1项集的集合L1,令i=1,N是Li中项的数量;调用子函数Join_Prune(Li,min_sup),存储频繁项集Li;子函数Join_Prune(Li,min_sup):对频繁i项集Li执行连接步,产生候选i+1项集Ci+1;对候选i+1项集Ci+1执行剪枝步,产生频繁i+1项集Li+1;返回频繁i+1项集Li+1。如果Ni+1>0,则令i=i+1,转到步骤3);否则,算法结束。4、 实验数据AllElectronics某分店的事物数据TID商品ID的列表T10011,12,15T200I2,I4T300I2,I3T400I1,I2,I4T500I1,I3T600I2,I3T700I1,I3T800I1,I2,I3,I5T900I1,I2,I35、实验代码:function[C,AllE,FPtree]=ExamDM2(AllETrans)[M,N]=size(AllETrans);Ni=5;CC=zeros(Ni,2);fork=1:N[Mk,Nk]=size(AllETrans{k});%Countingthefrequenceoftheitems.fori=1:NkCC(AllETrans{k}(i),1)=AllETrans{k}(i);CC(AllETrans{k}(i),2)=CC(AllETrans{k}(i),2)+1;endendC=zeros(Ni,3);fori=1:Ni%Arrangetheitemsaccordingtofrequencesequencedegression.[A,P]=max(CC(:,2));C(P,1)=i;C(i,2:3)=CC(P,:);CC(P,2)=-2*i;endfork=1:N%Arangetheitemsofeachtransactionaccordingtofrequencesequencedegression.CR=zeros(1,Ni);[Mk,Nk]=size(AllETrans{k});fori=1:NkCR(C(AllETrans{k}(i),1))=AllETrans{k}(i);endj=0;fori=1:NiifCR(i)>0.5j=j+1;AllE{k}(j)=CR(i);endendendR=0;FPtree{1,1}=zeros(1,5);fork=1:N%Createfrequentpatterntree[Mk,Nk]=size(AllE{k});J=ones(1,Nk);kifFPtree{1,1}(1,2)<1%"FPtree"isacellmatricsforexpressingFPtree.FPtree{1,1}=[01111];%ThefirstelementofeachcellinFPtreeisthenameofitem.R=R+1;%ThesecondelementofeachcellinFPtreeisthefrequentnumberoftheitem.fori=1:NkFPtree{1,i+1}=[AllE{k}(i)1RiR];endFPtree{1,i+1}(5)=0;%ThethirdelementofeachcellinFPtreeistherowpositionofformercell.else%TheforthelementofeachcellinFPtreeisthecolumnpositionofformercell.FPtree{1,1}(1,2)=FPtree{1,1}(1,2)+1;fori=1:Nk%ThefifthelementofeachcellandthefollowersinFPtreeisthecolumnpositionofthefollowercell.[Mfp,Nfp]=size(FPtree{J(i),i});ifFPtree{J(i),i}(Nfp)==0FPtree{R,i+1}=[AllE{k}(i)1J(i)i0];FPtree{J(i),i}(Nfp)=R;J(i+1)=R;elsej=5;iwhilej<=NfpifFPtree{FPtree{J(i),i}(j),i+1}(1)==AllE{k}(i)FPtree{FPtree{J(i),i}(j),i+1}(2)=FPtree{FPtree{J(i),i}(j),i+1}(2)+1;j=Nfp+10;elsej=j+1endifj==Nfp+1R=R+1;FPtree{R,i+1}=[AllE{k}(i)1J(i)i0];FPtree{J(i),i}(j)=R;endJ(i+1)=R;endendendendend五、实验结果:™ArrayEditor-G鞘站电S"切Stack;123斗51227211633364442S552678310TOC\o"1-5"\h\z2 2 ?1 1 FJ d t4k5 2Z11E-Ilxj:dcuD.el[1x2loub_E丨[Ik2double][1x3double][1k2doutle1FFtree=[lz6■1f111a][1t7H^ih'u]double][1x5double][][]IIdouble].11[]LJ:lsbdouble][][][][][1k5doutile][][][1k5luublt]double]:][][][][][1k5dEiuble][1x5doutlc]I::kNcoitls实验三贝叶斯决策分类算法一.实验目的:1)对AllElectronics顾客数据库查询得到先验概率和类条件概率密度;2) 使用朴素贝叶斯分类对任意元组分类。二.实验原理:1、先验概率和类条件概率先验概率:先验概率定义为训练样本集中属于Ci类的样本(元组)数N.与总样本数N之比,记为P(C)=N。iN类条件概率:类条件概率定义为训练样本集中属于Ci类中的具有特征X的样本(元组)的个数n.与属于C.类的样本(元组)数N之比,记为P(XIC)=n-。i . . iNi2、贝叶斯决策贝叶斯决策(分类)法将样本(元组)分到C.类,当且仅当P(XIC)P(C)>P・IC)pG),对1<j<m,j#ii i j j其中,训练样本集中的样本(元组)可被分为m类。三.实验内容:1、 实验内容用贝叶斯分类器对已知的特征向量X分类:1) 由AllElectronics顾客数据库类标记的训练样本集(元组)编程计算先验概率P(C.)和类条件概率P(XICJ,并在实验报告中指出关键代码的功能和实现方法;2) 应用贝叶斯分类法编程对特征向量X分类,并在实验报告中指出关键程序片段的功能和实现方法;3) 用检验样本估计分类错误率;4) 在实验报告中画出程序或例程的程序框图。2、 实验步骤由于该分类问题是决定顾客是否倾向于购买计算机,即C1对应于buys_computer=yes,C2对应于buys_computer=no,是两类的分类问题。实验步骤如下:1) 根据AllElectronics顾客数据库类标记的训练样本集(元组)计算先验概率P(Ci),i=1,2;2) 设特征(属性)向量为X,编程计算类条件概率P(Xiq),i=l,2;3) 应用贝叶斯决策(分类)法进行分类。3、实验数据AllElectronics顾客数据库类标记的训练样本集(元组)RIDage incomestudentcredit_ratingClass:buys_computer1youth0high2no0fair0no02youthhighnoexcellent1no3middle_aged1high2nofairyes14senior2medium1no0fair0yes5senior2low0yes1fair0yes6senior2low0yes1excellent1no7middle_aged1low0yes1excellent1yes8youth0medium1no0fair0no9youth0low0yes1fair0yes10senior2medium1yes1fair0yes11youth0medium1yes1excellent1yes12middle_aged1medium1no0excellent1yes13middle_aged1high2yes1fair0yes14senior2medium1no0excellent1no4、实验代码:function[Syes,Sno,P]=ExamDM3(S,X)[mS,nS]=size(S);K=zeros(2,mS);fori=1:nSifS(6,i)==1K(1,mS)=K(1,mS)+1;Syes(:,K(1,mS))=S(:,i);elseifS(6,i)==0K(2,mS)=K(2,mS)+1;Sno(:,K(2,mS))=S(:,i);endendP=ones(2,mS);P(1,mS)=K(1,mS)/(K(1,mS)+K(2,mS));P(2,mS)=K(2,mS)/(K(1,mS)+K(2,mS));fori=1:mS-2forj=1:K(1,mS)ifSyes(i,j)==X(i)K(1,i)=K(1,i)+1;endendforj=1:K(2,mS)ifSno(i,j)==X(i)K(2,i)=K(2,i)+1;endendP(1,i)=K(1,i)/K(1,mS);P(2,i)=K(2,i)/K(2,mS);endP(:,mS-1)=ones(2,1);fori=1:mS-2P(:,mS-1)=P(:,mS-1).*P(:,i);endP(:,mS-1)=P(:,mS-1).*P(:,mS);ifP(1,mS-1)>P(2,mS-1)'Xisdeterminedtobe"Buy_computer=yes"classelseifP(1,mS-1)<P(2,mS-1)'Xisdeterminedtobe"Buy_computer=no"class'else'Xislocatedatthedeterminehyperplane'end实验结果:KisdeterminedtobeBu7_coutputer=yesclass122121000011000111111111122121000011000111111111001011211011011110111111121011Sno=21210110220100100110111100000.2222□.44440.66670.66670.02820.C4290.60000.40000.20000.40000.00690.3571实验四BP神经网分类算法一•实验目的:1) 进一步熟悉Matlab编程算法;2) 掌握基本的人工神经网分类算法的编程方法。二.实验原理:后向传播算法在多层前馈神经网络上进行学习,它迭代地学习用于预测训练样本(元组)类标号的一组神经网的权重。多层前馈神经网络由一个输入层、一个或多个隐藏层和一个输出层组成。如图所示。

InputkiycrHiddejikiyeiOutpvilkiycrInputkiycrHiddejikiyeiOutpvilkiycr人工神经网的基本概念有:1)神经元模型:n维特征向量X=[X],x2,...,xn]T输入神经元,有待定权重向量W=[W],w2,…,wn]T,和常数项w0。经加权求和后,代入Sigmoid函数,得到神经元的输出。其中函数fx)其中函数fx)满足:fG)=—、1+expCax)2) 向前传播输入:从输入层输入X,经各个神经元的计算,传播到输出层,与期望输出比较,可得到误差。3) 向后传播误差:采用梯度下降算法,可解出误差后向传播导致的权重修正量。修改权重,并继续迭代,最终得到输出误差最小的权向量W。三.实验内容:1、程序框图

2、实验内容1) 编程实现三层BP神经网的训练软件。取输入层有4个神经元,隐层有3个节点,输出层有1个节点;2) 用AllElectronics顾客数据库类标记的训练样本集(元组)对该网络进行训练,得到最优权向量。通过实验确定激励函数的参数"a"的取值,和梯度下降算法的步长”u”的取值;3) 选取特征向量X输入到神经网,观察输出。对比当Xw{age:yunth=0,middle_aged=1,high=2;income:low=0,medium=1,high=2,student:no=0,yes=1;credit_rating:fair=0,excellent=1;对应常数项为:1;buy_computer:no=0,yes=1},和当Xe{age:yunth=-1,middle_aged=O,high=1;income:low=-1,medium=0,high=1,

student:no=-1,yes=1;credit_rating:fair=-1,excellent=1;对应常数项为:1;buy_computer:no=0,yes=l}有什么差另U;在实验报告中画出程序或例程的程序框图;3、实验步骤初始化权重:权重初始化为很小的随机数。前向传播计算:逐层、逐个计算神经元的输出,保存每个神经元的输出结果与期望的类标号比较;a)对每个训练特征向量X(i),i=l,2,...,N(其中N是样本总数),计算第r层第j个神经元的输入加权和vrj(i)vrjk=1Wryr-1C)+wrjkkj0fE1wryr-1jkkC)vrjk=1Wryr-1C)+wrjkkj0fE1wryr-1jkkC)k=0其中yrj(i)=f(vrj(i)),j=1,2,.,kr,r=1,2,.,L。b)用下式计算当前估计值的权值的代价函数J=EeC)i=1eC)三1见e2C)三1见fC(i))-y(i))2m2mmm=1 m=13)计算后向传播误差,最后得到所有权重的修正量,并对每一个权进行修正。a)对每个i=1,2,…,N和j=l,2,...,kL,用下式计算5Lj(i):L(i)=e(i)fj52=ejjj用下式计算5r-1j(i):(i)=er-1(i)frvr-1(i))jjer-1(i)=Ekr5r(i)wrj kkjk=15r-1

jb)对j=l,2,...,kr,r=l,2,...,L,有:wr(新)=wr(旧)jj+AwrjAwr=—哼5rC)yrTC)jji=1其中卩是步长。4) 不满足终结条件,转到步骤2);否则,训练计算结束4、实验数据AllElectronics顾客数据库类标记的训练样本集(元组)RIDageincomestudentcredit_ratingClass:buys_computer1youthhighnofairno2youthhighnoexcellentno3middle_agedhighnofairyes4seniormediumnofairyes5seniorlowyesfairyes6seniorlowyesexcellentno7middle_agedlowyesexcellentyes8youthmediumnofairno9youthlowyesfairyes10seniormediumyesfairyes11youthmediumyesexcellentyes12middle_agedmediumnoexcellentyes13middle_agedhighyesfairyes14seniormediumnoexcellentno5、实验代码:function[Sout,W,TStop,Stop]=ExamDM4(KL,S)%Where'Ln'isarowvectorofexpressingtheneuronnumberinacolumn.%Where'S'isamatricsofexpressingthesampleintheexperiment.tic[L0,L]=size(KL);KL(2,:)=KL(1,:)+ones(1,L);[mS,nS]=size(S);[ML]=max(KL(2,:));a=5;x=[-10:10];fork=1:21y(1,k)=F(x(1,k),a);endplot(x,y);u=0.05;W=cell(ML,L);%Initializationforr=2:Lform=1:KL(2,r-1)W{m,r}=2*(rand(1,KL(2,r-1))-0.5*ones(1,KL(2,r-1)));endendTW=0.00001;KKK=0;whileKKK<4000Stop=0;TStop=0;fori=1:nS%Forwardfeedprocedure.Sout{i}=ForwardFeed(KL,L,S(1:KL(2,1),i),W,a);endfori=1:nS%Backpopogationforj=1:KL(1,L);Delt{i}(j,L)=(Sout{i}(j,L)-S(KL(2,1)+j,i))*a*Sout{i}(j,L)*(1-Sout{i}(j,L));endforr=L-1:-1:1forj=1:KL(1,r)er1ji=0;fork=1:KL(1,r+1)er1ji=er1ji+Delt{i}(k,r+1)*W{k,r+1}(j);endDelt{i}(j,r)=er1ji*a*Sout{i}(j,r)*(1-Sout{i}(j,r));endendendforr=2:Lforj=1:KL(2,r)deltW{j,r}=zeros(1,KL(2,r-1));fori=1:nSdeltW{j,r}=deltW{j,r}-u*Delt{i}(j,r)*(Sout{i}(1:KL(2,r-1),r-1))';end

endendforr=2:Lforj=1:KL(2,r)TStop=TStop+1ifdeltW{j,r}*deltW{j,r}'<TWStop=Stop+1endendendKKK=KKK+1;endfork=1:nSyOut=[Sout{k}(1:KL(1,L),L)S(KL(2,1)+1:mS,k)]endtoc% columnfunction[YX]=ForwardFeed(KL,L,XS,W,a)columnYX(:,1)=XS;%'XS'isavectorand'XS(1)=1'.forr=2:Lform=1:KL(1,r)YX(m,r)=F(W{m,r}*YX(1:KL(2,r-1),r-1),a);endYX(m+1,r)=1;end% function[y]=F(x,a)y=1/(1+exp(-a.*x));实验结果:[5k3double][5k3double][5k3doubZColmims13th.rough14.L5k3double]L5k3double][][1k5double][1k4[][Lk5double][1k4[][1x5double][1k4[][1k5double][1k4[][1k5double]double]double]double]douLle][]TStcip=Stop=□□07000.201-0-6-22481009□□07000.201-0-6-224810090.6□QEditewInsertLo*>lsQeslztc-pj!lindowHelp实验五k-均值聚类算法一.实验目的:熟悉Matlab编程算法;通过Matlab编程实验掌握k-均值聚类算法。二.实验原理:在对客户行为的研究中,往往要把商业行为相似的客户放在同一组,而把商业行为不同的客户放在不同的组。这与分类不同,不可能预先知道每个客户的类标号,也就无法构造已知类标号的训练样本和检验样本,前述的分类方法就无法适用。这种在样本特征空间中,基于特征点分布相似性的分组的方法被称为聚类分析(ClusteringAnalysis),简称聚类(Clustering)。假定簇的个数作为背景知识给定,数据集D中有n个数据对象,划分算法要将这些数据对象分配到k(k<n)分区C],C2,…,Ck中,使得对于1三,j<k,quD且C.nC.=0,其中每一个分区代表一个簇。这些簇的形成旨在优化一个客观划ij分准则,如基于距离的相异性函数,使得同一个簇中的对象是“相似的”,而不同簇中的对象是“相异的”。最著名、最常用的划分方法是k-均值聚类。这是一种基于形心的划分技术,具体迭代的计算步骤如下:在属性向量空间随机产生k个形心坐标。分别计算数据集D中的每个数据对象T.(1<i<n)到所有k个形心的距离度量Dist(ij)(l<i<n,l<j<k),并将数据对象T.聚到最小距离度量的那一簇中。即T.eCJ,表示数据对象T.被聚到第J簇中。其中J=argmin(Dist(ij)),表示J为可使得Dist(ij)取最小值的那个j。按照形心的定义计算每一簇的形心坐标,形成下一代的k个形心坐标。如果不满足终结条件,转到2)继续迭代;否则结束。其中,簇的形心可以有不同的的定义,例如可以是簇内数据对象属性向量的均值(也就是重心),也可以是中心点等;距离度量也可以有不同的定义,常用的有欧氏距离、曼哈顿(或城市块、街区)距离、闵可夫斯基距离等;终结条件可采用当对象的重新分配不再发生时,程序迭代结束。

三.实验内容:1、程序框图2、实验内容1) 根据k-均值聚类算法的计算步骤,画出k=3时的程序流程图;2) 由k-均值程序流程图编程实现k-均值聚类算法;3) 在实验报告中显示k-均值聚类过程的一系列截图,指明各个簇的逐渐演化过程;4)通过实验分析k-均值算法的特性。3、实验步骤编程实现如下功能:1) 首先将数据集D={D],D2,D3}中的属性向量作为实验数据输入Matlab;2) 由k-均值程序流程图编程实现k-均值聚类算法,并用实验数据运行;3) 运行过程中在适当的迭代代数暂停并显示实时迭代的结果,如簇心的位置、按距离最近邻聚类的结果等;4) 分析k-均值聚类的收敛性;5) 如果对数据集D的收敛性尚可,那么分别添加离群点[0.50.9]和[0.990.05]后,运行该聚类程序,并分析收敛特性。4、实验数据聚类的类数已知,设k=3。数据集D有三个互不交叠的子集构成,即D={D],d2,d3}。为方便显示,本实验采用二维属性向量。其中,所有属性已被规范化到[0,1]区间,每一行代表一个属性向量,第一列代表属性空间的横轴坐标,第二列代表属性空间的纵轴坐标。D1=0.10000.80000.20000.70000.10000.90000.15000.75000.25000.80000.18000.81000.22000.66000.3000 0.78000.1200 0.63000.27000.8800D2=0.4500 0.1000

0.55000.15000.65000.63000.56000.53000.51000.47000.4300D3=0.67000.72000.78000.85000.88000.84000.80000.77000.73000.70000.66000.28000.32000.36000.34000.28000.28000.32000.36000.34000.28000.23000.18000.75000.82000.88000.88000.92000.95000.94000.91000.88000.79000.7700数据集D中的数据对象在属性空间的分布如图

温馨提示

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

评论

0/150

提交评论