欢迎来到天天文库
浏览记录
ID:47691358
大小:212.00 KB
页数:18页
时间:2020-01-24
《模式识别实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、word格式武汉大学国际软件学院实验报告课程名称模式识别导论专业年级2015级姓名宁佳星学号2015302580323协作者实验学期2017-2018学年上学期课堂时数0课外时数12填写时间2017年11月12日....word格式实验概述【实验项目名称】:模式识别作业1【实验目的】:1、请编写程序实现混合类型属性差异性矩阵计算2、请编写程序实现近邻聚类算法或者最大最小距离聚类算法3、请编写程序实现层次聚类算法4、请编写程序实现K-means或者K-中心点聚类算法5、请编写程序实现ISODATA算法6、使用统一的测试数据观察不同算法的聚类结果,并讨论为什么【实验环境】(使用的软件)
2、:lWindiws7lVisualStudio2017【参考资料】:l《模式识别作业1》l模式识别PPTl网络索引实验内容....word格式【实验方案设计】:1、编写程序实现混合类型属性差异性矩阵计算//矩阵三元组之矩阵相加相乘...#defineMAXSIZE12500//最大非零元素...voidInputMatrix(TSMatrix&T)//输入t个非零元素{...}...voidTransposeSMatrix(TSMatrixM,TSMatrix&T)//矩阵的转置{...}...voidAddMastrix(TSMatrixM,TSMatrixT,TSMatrix&
3、Q)//矩阵相加{...}...//for循环复制剩余元素...voidMultiply(TSMatrixM,TSMatrixT,TSMatrix&Q)//矩阵相乘{...int*rowSize=newint[T.mu+1];//存放每行非零元素的个数int*rowStart=newint[T.mu+2];//矩阵每行在三元组开始位置int*temp=newint[T.nu+1];//存放结果矩阵中每行的计算结果...while(Current<=M.tu){ROWM=M.data[Current].row;//当前三元组数据中元素的行号...while(Current<=M.tu
4、&&ROWM==M.data[Current].row){COLM=M.data[Current].col;//当前元素的列号,方便与T矩阵的行号相乘for(i=rowStart[COLM];i5、{0,0,1,0,-1,0,0,0,1,-1,0,0,0,1,-1}};//输入样本点...center[0]=0;//firstcenter...center[1]=index;//secondcenter...//求出所有中心,finalarraymin[]isstillusefulwhile(theshold>theta*D12){...//min-operatefor(j=0;jtheta*D12){k++;center[k]=index;}//addacentertheshold=max;//preparetoloopnextt6、ime}...}1、编写程序实现层次聚类算法//实现层次聚类算法...//计算两个样本点之间的欧几里得距离doubleCAgeneCluster::getDistance(sDataPointdpA,sDataPointdpB){...}list*CAgeneCluster::initialCluster(list*dataPoints){...{sDataPointtempDataPoint=*iter;//取出数据,...tempCluster.clusterLabel=i;//初始类簇号为各原数据顺序号tempCluster.dat7、apointList->push_back(tempDataPoint);//每一个数据为一类originalClusters->push_back(tempCluster);//originalClusters为类簇序列...}...}list*CAgeneCluster::mergeCluster(list*clusters,intmergeIndexA,intmergeIndexB)//mergeIndexA,B是类簇标号
5、{0,0,1,0,-1,0,0,0,1,-1,0,0,0,1,-1}};//输入样本点...center[0]=0;//firstcenter...center[1]=index;//secondcenter...//求出所有中心,finalarraymin[]isstillusefulwhile(theshold>theta*D12){...//min-operatefor(j=0;jtheta*D12){k++;center[k]=index;}//addacentertheshold=max;//preparetoloopnextt
6、ime}...}1、编写程序实现层次聚类算法//实现层次聚类算法...//计算两个样本点之间的欧几里得距离doubleCAgeneCluster::getDistance(sDataPointdpA,sDataPointdpB){...}list*CAgeneCluster::initialCluster(list*dataPoints){...{sDataPointtempDataPoint=*iter;//取出数据,...tempCluster.clusterLabel=i;//初始类簇号为各原数据顺序号tempCluster.dat
7、apointList->push_back(tempDataPoint);//每一个数据为一类originalClusters->push_back(tempCluster);//originalClusters为类簇序列...}...}list*CAgeneCluster::mergeCluster(list*clusters,intmergeIndexA,intmergeIndexB)//mergeIndexA,B是类簇标号
此文档下载收益归作者所有