




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据挖掘与数据仓库实验指导书2013年计算机学院计算应用实验1Apriori算法实现一、实验目的1、掌握Apriori算法对于关联规则挖掘中频繁集的产生以及关联规则集合的产生过程;2、根据算法描述编程实现算法,调试运行。并结合相关实验数据进行应用,得到分析结果。数据和删除数据的操作。实验类型:综合计划课间:2学时二、实验内容1、频繁项集的生成与Apriori算法实现;2、关联规则的生成过程与Rule-generate算法实现;3、结合样例对算法进行分析;三、实验步骤编写程序完成下列算法:1、Apriori算法数据集口最小支持数minsupcount;输入:输出:频繁项目集LL1=large1-
2、itemsetsFor(k=2;Lk-1w;k+)是k个元素的候选集是所有t包含的候选集元素£Ctdoc.count+;Ck=apriori-gen(Lk-1);/CkForalltransactionstCDdobeginCt=subset(Ck,t);/CtforallcandidatescendLk=c£Ck|c.count=minsup_countEndL=ULk;2、apriori-gen(Lk-1)候选集产生算法输入:(k-1)-频繁项目集Lk-1输出:k-频繁项目集CkForallitemsetp£Lk-1doForallitemsetq£
3、Lk-1doIfp.item1=q.item1,p.item2=q.item2,,p.itemk-2=q.itemk-2,p.itemk-1<q.itemk-1thenbeginc=p0°qifhas_infrequent_subset(c,Lk-1)thendeletecelseaddctoCkEndReturnCk3、has_infrequent_subset(c,Lk-1)功能:判断候选集的元素输入:一个k-频繁项目集Lk-1,(k-1)-频繁项目集Lk-1输出:c是否从候选集中删除的布尔判断Forall(k-1)-subsetsofcdoIfNot(S£Lk-
4、1)THENreturnTRUE;ReturnFALSE;4、Rule-generate(L,minconf)输入:频繁项目集;最小信任度输出:强关联规则算法:FOReachfrequentitemsetlkinLgenerules(lk,lk);5、Genrules递归算法:Genrules(lk:frequentk-itemset,xm:frequentm-itemset)X=(m-1)-itemsetsxm-1|xm-1inxm;Foreachxm-1inXBEGINconf=support(lk)/support(xm-1);IF(conf=minconf)THENBEGIN输出规贝U
5、:xm-1->(lk-xm-1),support,confidence;IF(m-1)>1)THENgenrules(lk,xm-1);END;END;结合相关样例数据对算法进行调试,并根据相关实验结果对数据进行分析,四、实验报告要求1、用C语言或者其他语言实现上述相关算法。2、实验操作步骤和实验结果,实验中出现的问题和解决方法。五、注意事项1、集合的表示及相关操作的实现;2、项目集的数据结构描述;参考核心代码如下:(相关的测试main函数可以自己书写。根据频繁k项集生成关联规则相对简单,只需要计算最小置信度即可从频繁K项集中找到所有的满足条件的关联规则。)/对事物进行第一次扫描,
6、生成频繁一项集,并返回一项集中个数intinit_pass(char*item,chartranlen_tlen,intlen,charres_itemlen_tlen,floatmin_sup)floatt_sup;intnumber=0;for(inti=0;i<len;i+)intcount=0;for(intj=0;j<len_t;j+)for(intk=0;k<len;k+)if(itemi=tranjk)count+;break;break;)t_sup=count*1.0/len;if(t_sup>=min_sup)res_itemnumber+0=ite
7、mi;)returnnumber-1;)/生成候选曲集,返回k项集中事物的个数intcandidate_gen(charktranlenk,charkktranlenk+1)chartempk,temp1k,ktempk+1;intnumber=0;for(inti=0;i<len;i+)strcpy(temp,ktrani);boolflag;for(j=i+1;j<len;j+)strcpy(temp1,ktrani);for(intm=0;m<k;m+)if(m<k-1&&tempm=temp1m)|m=k-1)continue;flag=true
8、;)elseflag=false;break;)if(flag)strcpy(ktemp,temp1);ktempk=tempk-1;)else(strcpy(ktemp,temp);ktempk=temp1k-1)break;)flag=judge(kemp,ktranlenk);if(flag=true)strcpy(kktrannumber+,ktemp);)returnnumber-1;)/判断子集是否在k项集中booljudge(char*srcstr,chardesstrlenk)(chartempk;intcount=0;for(inti=0;i<k-1;i+)(for(i
9、ntj=0;j<i;j+)tempj=srcstrj;for(intj=i+1;j<k+1;j+)tempj=srcstrj;for(intp=0;p<len;p+)if(strcmp(temp,desstri)=0)(count+;break;)if(count=k-1)returntrue;returnfalse;)/apriori算法intapriori(cha门temlen,chartranlengthlen,charres_tranlengthlen,floatmin_sup)(charttranlengthlen;intnumber,count,t_num;for
10、(inti=0;i<length;i+)for(intj=0;j<len;j+)ttranij='0'number=init_pass(item,tranlengthlen,len,ttranlengthlen,min_sup);for(inti=0i<length;i+)res_trani0=ttrani0;for(intk=2;number!=0;k+)(t_num=number;number=candidate_gen(res_itemnumberk-1,ttrannumberk);if(k=2)continue;else(count=0;for(int
11、i=0;i<number;i+)chartempk;strcpy(temp,ttrani);boolt_flag=false;for(intj=0;j<length;j+)/求出候选幽集中每个事物的支持计数intt_k=0;for(intn=0;n<k;n+)boolm_flag=falsefor(intg=t_k;g<len;g+)if(tempk=tranjg)m_flag=true;t_k=g;break;if(m_flag=true&&n=k-1)t_flag=true;if(t_flag=true)count+;flag=false;if(co
12、unt/length>min_sup)strcpy(res_itemi,temp);count=0;returnt_num;实验2-1ID3算法实现一、实验目的通过编程实现决策树算法,信息增益的计算、数据子集划分、决策树的构建过程。加深对相关算法的理解过程。实验类型:综合计划课间:4学时二、实验内容1、分析决策树算法的实现流程;2、分析信息增益的计算、数据子集划分、决策树的构建过程;3、根据算法描述编程实现算法,调试运行;三、实验方法算法描述:以代表训练样本的单个结点开始建树;若样本都在同一个类,则该结点成为树叶,并用该类标记;否则,算法使用信息增益作为启发信息,选择能够最好地将样本分类
13、的属性;对测试属性的每个已知值,创建一个分支,并据此划分样本;算法使用同样的过程,递归形成每个划分上的样本决策树递归划分步骤,当下列条件之一成立时停止:给定结点的所有样本属于同一类;没有剩余属性可以进一步划分样本,在此情况下,采用多数表决进行四、实验步骤1、算法实现过程中需要使用的数据结构描述:Struct当前节点对应属性对应边值子树同层其他节点是否叶子节点对应分类标号intAttrib_Col;/intValue;/Tree_Node*Left_Node;/Tree_Node*Right_Node/BooleanIsLeaf;/intClassNo;/Tree_Node;2、整体算法流程主程
14、序:InputData();T=Build_ID3(Data,Record_No,Num_Attrib);OutputRule(T);释放内存;3、相关子函数:3.1、 InputData()输入属性集大小Num_Attrib;输入样本数Num_Record;分配内存DataNum_RecordNum_Attrib;输入样本数据DataNum_RecordNum_Attrib;获取类别数C(从最后一句中得到);一3.2、 Build_ID3(Data,Record_No,Num_Attrib)IntClass_DistributeC;If(Record_No=0)returnNullN=new
15、tree_node();计算Data中各类的分布情况存入Class_DistributeTemp_Num_Attrib=0;For(i=0;i<Num_Attrib;i+)If(Data0i>=0)Temp_Num_Attrib+;IfTemp_Num_Attrib=0一一N->ClassNo=最多的类;N->IsLeaf=TRUE;N->Left_Node=NULL;N->Right_Node=NULL;ReturnN;IfClass_Distribute中仅一类的分布大于0N->ClassNo=该类;N->IsLeaf=TRUE;N->
16、Left_Node=NULL;N->Right_Node=NULL;ReturnN;InforGain=0;CurrentCol=-1;Fori=0;i<Num_Attrib-1;i+)(TempGain=Compute_InforGain(Data,Record_No,I,Num_Attrib);If(InforGain<TempGain)InforGain=TempGain;CurrentCol=I;N->Attrib_Col=CurrentCol;/记录CurrentCol所对应的不同值放入DiferentValue口;I=0;Value_No=-1;Whilei
17、<Record_NoFlag=false;For(k=0;k<Value_No;k+)if(DiferentValuk=DataiCurrentCol)flag=true;if(flag=false)Value_No+;DiferentValueValue_No=DataiCurrentColI+;SubData=WData大小申请内存空间;For(i=0;i<Value_No;i+)k=-1;for(j=0;j<Record_No-1;j+)if(DatajCurrentCol=DiferentValui)k=k+;For(inti1=0;i1<Num_Attr
18、ib;i1+)If(i1<>CurrentCol)SubDataki1=Data皿1;ElseSubDataki1=-1;N->Attrib_Col=CurrentCol;N->Value=DiferentValui;N->Isleaf=false;N->ClassNo=0;N->Left_Node=Build_ID3(SubData,k+1,Num_Attrib);N->Right_Node=newTree_Node;N=N->Right_Node;3.3、 计算信息增益Compute_InforGain(Data,Record_No,C
19、ol_No,Num_Attrib)(IntDifferentValueMaxDifferentValue;IntTotal_DifferentValue;IntsClassNoMaxDifferentValue;s=0;/数组清0;Total_DifferentValue=-1;For(i=0;i<Record_No;i+)(.J=GetPosition(DifferentValue,Total_DifferentValue,DataiCol_no);If(j<0)Total_DifferentValue+;DifferentValueTotal_DifferentValue=Da
20、taiCol_no;J=Total_DifferentValue;SDataiNum_Attrib-1j+;Total_I=0;For(i=0;i<ClassNo;i+)Sum=0;For(j=0;j<Record_No;j+)ifDatajNum_Attrib-1=isum+;Total_I=Compute_PI(Sum/Record_No);EA=0;For(i=0;i<Total_DifferentValue;i+);temp=0;sj=0;/sj是数据子集中属于类j的样本个数;For(j=0;j<ClassNO;j+)sj+=sji;For(j=0;j<C
21、lassNO;j+)EA+=sj/Record_No*Compute_PI(sji/sj);Returntotal_I-EA;3.4、 得到某数字在数组中的位置GetPosition(Data,DataSize,Value)For(i=0;i<DataSize;i+)if(Datai=value)returnI;Return-1;3.5、 计算Pi*LogPiFloatCompute_PI(floatpi)(.Ifpi<=0thenreturn0;Ifpi>=1thenreturn0;Return0-pi*10g2(pi);五、实验报告要求1、用c语言或者其他语言实现上述相关
22、算法。2、实验操作步骤和实验结果,实验中出现的问题和解决方法。六、注意事项1、信息增益的计算;2、选择相关字段后根据相关字段的取值对数据集合进行划分。3、决策树构建的终止条件数据挖掘实验指导书实验2-2贝叶斯算法实现一、实验目的通过对贝叶斯算法的编程实现,加深对贝叶斯算法的理解,同时利用贝叶斯算法对简单应用实现预测分类实验类型:综合计划课间:2学时二、实验内容1、分析贝叶斯算法;2、计算条件概率;3、预测精度的计算与评估;4、编程实现贝叶斯分类算法,并对简单应用样本数据实现预测分类5.参考实验数据/ml/machine-learning-dat
23、abases/wine/三、实验方法1、实现贝叶斯算法2、利用实验数据对贝叶斯算法进行检测3、求解精确度计算4、 调试程序5、完成整个分类与评估的过程四、实验步骤4.1 算法过程描述:1)输入训练数据,将数据彳存在DataBase二维数组中(数组的最后一个属,f对应类别标号)2)设定训练数据集与测试数据集大小(指定从数组下标0开始到TrainSetSize-1所对应的数据为训练数据,其余为测试数据);3)计算训练数据集数据中各属性在各类中的概率分布情况;4)利用测试数据计算贝叶斯算法的分类精度;5)输出分类结果;4.2 数据处理第14页数据挖掘实验指导书A、实验数据RIDageincomest
24、udentCredit_ratingBuyComputer1三30HighNoFairNo2三30HighNoExcellentNo33140HighNoFairYes4>40medNoFairYes5>40LowYesFairYes6>40LowYesExcellentNo73140LowYesExcellentYes8三30MedNoFairNo9三30LowYesFairYes10>40MedYesFairYes11三30MedYesExcellentYes123140MedNoExcellentYes133140HighYesFairYes14>40med
25、NoExcellentNoB、对数据中的枚举类型数据进行转换以便于数据处理:0123ClassNo100000200010310001421001522101622110712111801000902101102110111011111211011131010114210103-1所小4.3 计算训练数据集数据中各属性在各类中的概率分布情况如图4.4 利用测试数据计算贝叶斯算法的分类精度如图3-2所示第15页数据挖掘实验指导书AttSetSize*MaxAttSize*ClassSize小的空间AttributeDistributeAttributeDistribute0For(i=0;i&l
26、t;AttSize;i+)For(j=0;j<MaxAttSize;j+)For(k=0;k<ClassSize;k+)AttributeDistributeijk=0;j<TrainSetSizeYesYesi=AttSetSize-1i<AttSetSizeoNoYesi+NoAttributeDistributeiDataBasejiDataBasejAttSetSize-1+i=0j=0j+AAttributeDistributei0DataBasejAttSetSize-1+图3-1训练数据集各属性的概率分布计算第16页数据挖掘实验指导书申请ClassSize
27、*ClassSize个空间PreciseTemp计算属于类j的概率For(k=0;k<AttSetSize-1)Temp*=AttributeDistributekDataBaseikj/AttributeDistributeAttSetSize-10jTemp*=AttributeDistributeAttSetSize-10j/Traij+MaxP=Temp;ClassNo=j图3-2贝叶斯算法的分类精度计算4.5 输出分类结果For(i=0;i<ClassSize;i+)printf(“n”);For(j=0;j<ClassSize;j+)printf("t%
28、d”,Preciseij);TotalCorrect+=Preciseii;printf("nTotalCorrectis%d”,TotalCorrect);五、注意事项注意单个样例数据的概率计算与各字段的概率计算的关系第17页数据挖掘实验指导书参考代码(对参考数据的代码)BayesianClassifier.h#include<string>#include<vector>#include<set>#include<ctime>#include<algorithm>#include<cmath>#include
29、<map>usingnamespacestd;/1)Alcohol/2)Malicacid/3)Ash/4)Alcalinityofash/5)Magnesium/6)Totalphenols/7)Flavanoids/8)Nonflavanoidphenols/9)Proanthocyanins/10)Colorintensity/11)Hue/12)OD280/OD315ofdilutedwines/13)Proline所有intTrainNum=130;训练数据的范围intTestNum=48;structOriginalDatadoubleA1;doubleA2;doubl
30、eA3;doubleA4;doubleA5;doubleA6;doubleA7;doubleA8;doubleA9;doubleA10;doubleA11;doubleA12;doubleA13;doubleA14;BayesianClassifier.cpp#include<iostream>#include<fstream>#include<sstream>#include"BayesianClassifier.h"usingnamespacestd;constintShuxing=13;/属性总数ifstreamf;vector&l
31、t;OriginalData>trainData;存放训练数据第18页数据挖掘实验指导书vector<OriginalData>testData;存放测试数据doubleA3;先验概率intm;/存放每一类型,每种属性中某数值的概率map<double,double>C1_mapShuxing;map<double,double>C2_mapShuxing;map<double,double>C3_mapShuxing;/从文件中读取数值voidDataRead(vector<OriginalData>&data,con
32、stchar*fileName)f.open(fileName);intZHjiang;if(fileName0='w')ZHjiang=TrainNum;elseZHjiang=TestNum;stringline;OriginalDatawine;for(inti=0;i<ZHjiang;i+)f>>line;while(line.find(',')>0&&line.find(',')<line.length()lineline.find(',')=''istrin
33、gstreamstream(line);stream>>wine.A1>>wine.A2>>wine.A3>>wine.A4>>wine.A5>>wine.A6>>wine.A7>>wine.A8>>wine.A9>>wine.A10>>wine.A11>>wine.A12>>wine.A13>>wine.A14;data.push_back(wine);一f.close();voidbayes()intcount1=0,cou
34、nt2=0,count3=0;inti;for(i=0;i<TrainNum;i+)if(trainDatai.A1=1)count1+;if(trainDatai.A1=2)count2+;if(trainDatai.A1=3)count3+;/统计三类数据,各自求和第19页数据挖掘实验指导书A0=(double)count1/(double)TrainNum;/求先验概率A1=(double)count2/(double)TrainNum;A2=(double)count3/(double)TrainNum;map<double,double>:iteratorpipei
35、;for(i=0;i<TrainNum;i+)if(trainDatai.A1=1)求P(Xk|C1)中Xk的个数intj=0;for(;j<13;j+)doubletemp=*(&trainDatai.A2+j);pipei=C1_mapj.find(temp);if(pipei=C1_mapj.end()一C1_mapj.insert(map<double,double:value_type(temp,1);一一elsedoublej=pipei->second;pipei->second=j+1;if(trainDatai.A1=2)求P(Xk|C2
36、)中Xk的个数intj=0;for(;j<13;j+)doubletemp=*(&trainDatai.A2+j);pipei=C2_mapj.find(temp);if(pipei=C2_mapj.end()一C2_mapj.insert(map<double,double>:value_type(temp,1);一一elsedoublej=pipei->second;pipei->second=j+1;if(trainDatai.A1=3)求P(Xk|C3)中Xk的个数intj=0;for(;j<13;j+)doubletemp=*(&t
37、rainDatai.A2+j);pipei=C3_mapj.find(temp);if(pipei=C3_mapj.end()一C3_mapj.insert(map<double,double>:value_type(temp,1);第20页数据挖掘实验指导书)else(doublej=pipei->second;pipei->second=j+1;)概率for(i=0;i<Shuxing;i+)(for(pipei=C1_mapi.begin();pipei!=C1_mapi.end();+pipei)(一一doublenum=pipei->second;
38、pipei->second=(double)num/(double)count1;)for(pipei=C2_mapi.begin();pipei!=C2_mapi.end();+pipei)(一一doublenum=pipei->second;pipei->second=(double)num/(double)count2;)for(pipei=C3_mapi.begin();pipei!=C3_mapi.end();+pipei)(一一doublenum=pipei->second;pipei->second=(double)num/(double)count
39、3;)voidhouyan()/计算后验分布,找出最大值(inti,j,k;doublep3;for(i=0;i<TestNum;i+)(doublepXC3=0,0,0;for(j=0;j<3;j+)map<double,double>:iteratorpipei;/计算p(X|C1)for(k=0;k<Shuxing;k+)pipei=C1_mapk.find(*(&testDatai.A2+k);if(pipei!=C1_mapk.end()一pXC0=pXC0+pipei->second;p0=A0*pXC0;/计算p(X|C2)for(k=
40、0;k<Shuxing;k+)第21页数据挖掘实验指导书pipei=C2_mapk.find(*(&testDatai.A2+k);if(pipei!=C2_mapk.end()(一pXC1=pXC1+pipei->second;p1=A1*pXC1;/计算p(X|C3)for(k=0;k<Shuxing;k+)(pipei=C3_mapk.find(*(&testDatai.A2+k);if(pipei!=C3_mapk.end()(一pXC2=pXC2+pipei->second;p2=A2*pXC2;找出最大值if(p0>p1&&am
41、p;p0>p2)(cout<<p0<<""<<1<<endl;if(testDatai.A1=1)m+;else(if(p1>p2)(cout<<p1<<""<<2<<endl;if(testDatai.A1=2)m+;else(cout<<p2<<""<<3<<endl;if(testDatai.A1=3)m+;voidmain()(doubletp,fp;cout<<
42、;"概率最大值"<<"所属类别"<<endl;DataRead(trainData,"wine.data");bayes();DataRead(testData,"test.data");houyan();tp=(double)m/51;fp=1-tp;cout<<"正确率为:"<<tp*100<<"%"<<endl;第22页数据挖掘实验指导书cout<<”错误率为:"<<
43、;fp*100<<"%"<<endl;)实验3-1C-Means聚类算法实现一、实验目的通过分析C-Mean裸类算法的聚类原理,利用Vc编程工具(或者其他编程工具)实现C-Means和FC谏类算法,并通过对样本数据的聚类过程,加深对该聚类算法的理解与应用过程。实验类型:综合计划课间:6学时二、实验内容1、分析C-Mean裸类算法和FCM2、分析距离计算方法;3、分析聚类的评价准则;4、编程完成C-Mean裸类算法和FCM并基于相关实验数据实现聚类过程;三、实验方法1、C-mean裸类算法原理C-means聚类算法以C为参数,把n对象分为C个簇,以使簇
44、内的具有较高的相似度。相似度的计算根据一个簇中对象的平均值来进行。算法描述:输入:簇的数目口包含n个对象的数据库输出:使平方误差准则最小的C个簇过程:任选C个对象作为初始的簇中心;Repeatforj=1tonDO根据簇中对象的平均值,将每个对象赋给最类似的簇fori=1toCDO更新簇的平均值计算EUnitlE不再发生变化第23页数据挖掘实验指导书按簇输出相应的对象2、聚类评价准则:k_E的计算为:E|x%|2i1xCi四、实验步骤4.1 实验数据见实验数据集Wine和Iris数据4.2 初始簇中心的选择选择k个样本作为簇中心For(i=0;i<k;i+)For(j=0;j<At
45、tSetSize;j+)ClusterCenterij=DataBaseij4.3 数据对象的重新分配Sim=某一较大数;ClusterNo=-1;For(i=0;i<k;i+)If(Distance(DataBasej,ClusterCenteri)<Sim)Sim=Distance(DataBasej,ClusterCenteri);ClusterNo=i;ObjectClusterj=ClusterNo;4.4 簇的更新For(i=0;i<k;i+)Temp=0;Num=0;For(j=0;j<n;j+)If(ObjectClusterj=i)Num+;Temp+
46、=DataBasej;If(ClusterCenteri!=Temp)HasChanged=TRUE;ClusterCenteri=Temp;4.5 结果的输出第24页数据挖掘实验指导书For(i=0;i<k;i+)(Printf("输出第阶簇的对象:”,i);For(j=0;j<n;j+)If(ObjectClusterj=i)printf("%d",j);Printf("n”);Printf("皿t簇平均值为(d,%d)n",ClusterCenteri0,ClusterCenteri1);五、注意事项1、距离函数的选
47、择2、评价函数的计算算法描述模糊C均值聚类算法的步骤还是比较简单的,模糊C均值聚类(FCM,即众所周知的模糊ISODATA是用隶属度确定每个数据点属于某个聚类的程度的一种聚类算法。1973年,Bezdek提出了该算法,作为早期硬C均值聚类(HCM方法的一种改进。FCMf巴n个向量Xi(i=1,2,n)分为c个模糊组,并求每组的聚类中心,使得非相似性指标的价值函数达到最小。FCM与HCM勺主要区别在于FCM用模糊划分,使得每个给定数据点用值在0,1间的隶属度来确定其属于各个组的程度。与引入模糊划分相适应,隶属矩阵U允许有取值在0,1间的元素。不过,加上归一化规定,一个数据集的隶属度的和总等于1:
48、uij1,j1,n(6.9)i1那么,FCM勺价值函数(或目标函数)就是式(6.2)的一般化形式:ccnJ(U,Ci,.,Cc)Jiudij2,(6.10)i1i1j这里uij介于0,1问;Ci为模糊组I的聚类中心,dij=|ci-Xj|为第I个聚类中心与第j个数据点问的欧几里德距离;且m1,是一个加权指数。构造如下新的目标函数,可求得使(6.10)式达到最小值的必要条件:J(U,C1,.,Cc,1,.,n)J(U,Ci,.,Cc)cnnm.2uijdiji1jj1cnj1j(uij1)i1cj(uij1)i1(6.11)第25页数据挖掘实验指导书这里j,j=1到n,是(6.9)式的n个约束式
49、的拉格朗日乘子。对所有输入参量求导,使式(6.10)达到最小的必要条件为:nmUjXjG(6.12)mUijj1和1Uij2/(m1)(6.13)c%k1dkj由上述两个必要条件,模糊C均值聚类算法是一个简单的迭代过程。在批处理方式运行时,FCMffl下列步骤确定聚类中心Ci和隶属矩阵U1:步骤1:用值在0,1间的随机数初始化隶属矩阵U,使其满足式(6.9)中的约束条件步骤2:用式(6.12)计算c个聚类中心c,i=1,c。步骤3:根据式(6.10)计算价值函数。如果它小于某个确定的阀值,或它相对上次价值函数值的改变量小于某个阀值,则算法停止。步骤4:用(6.13)计算新的U矩阵。返回步骤2。
50、上述算法也可以先初始化聚类中心,然后再执行迭代过程。由于不能确保FCM收敛于一个最优解。算法的性能依赖于初始聚类中心。因此,我们要么用另外的快速算法确定初始聚类中心,要么每次用不同的初始聚类中心启动该算法,多次运行FCM模糊c均值聚类算法如下:Reapeatforl=123Step1:computethecluseterprototypes(means):必皿)_一1Step2:competethedistance:(dft)2科")-r),iw£Wc,1Wk(门Step3:Updatethepartitionmatrix:第26页数据挖掘实验指导书For1w左WNH(dQ
51、N>0foralli*12以法(“二二LOtherwise江9=0ifd谪哥>0,and阅)£0,1with±4n=iE'IUntil|U(t)-(/(,')|<£算法实现米用VC+进行编写文档的读取#include"data.h"/函数定义double*DataRead(char*name,introw,intcol)(double*p=newdouble*row;ifstreaminfile;infile.open(name,ios:in);for(inti=0;i<row;i+)(pi=newdou
52、blecol;for(intj=0;j<col;j+)(infile>>pij;infile.close();第27页数据挖掘实验指导书cout<<"成功读取数据文件:"<<name<<"!n"returnp;/释放内存for(i=0;i<row;i+)(deletepi;deletep;文档的保存#include"data.h"voidDataSave(double*data,introw,intcol,char*name)(inti,j;ofstreamoutfile;/
53、打开文件,输出数据outfile.open(name,ios:out);outfile.setf(ios:fixed);outfile.precision(4);for(i=0;i<row;i+)(for(j=0;j<col;j+)(outfile<<dataij<<""outfile<<endl;outfile<<endl<<endl;outfile.close();第28页数据挖掘实验指导书数据标准化处理#include"data.h"double*Standardize(double*data,introw,intcol)(矩阵每列的最大值矩阵每列的最小值矩阵列元素inti,j;double*a=newdoublecol;/double*b=newdoublecol;/double*c=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度城市基础设施建设债权转让与融资合同
- 2025年度商铺转让三方合同附带品牌授权与培训支持
- 2025年度石料场生产承包环境保护与修复责任合同
- 2025年度教育培训机构兼职正式聘用教学合同
- 2025年度购房合同解除补偿协议范文
- 2025年度农村出租房租赁与农村养老服务业合作合同
- 二零二五年度股权代持协议书:文化娱乐股权代持与IP开发合作合同
- 2025年旅游行业现状分析:国内旅游人次预计达到63亿
- 2024-2025学年北京市二中高三上学期期中调研生物试卷
- 2025年吉林省吉林市单招职业适应性测试题库汇编
- 生活化教学在小学道德与法治课堂实践 论文
- 2024年江苏农林职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 腰脊神经后支痛课件
- 《商务数据分析》 课件 项目一 商务数据分析认知
- 加强锻炼预防疾病主题
- 心衰合并胸腔积液的护理Ppt
- 2023学年、2024学年临平区公办学校校方责任险投保采购项目招标文件
- 物流风险管理与应对策略
- 2024家政行业现状分析
- 英汉互译单词练习打印纸
- 冠状动脉粥样硬化性心脏病患者药物治疗管理路径专家共识2023版解读
评论
0/150
提交评论