数据挖掘实验报告.doc
《数据挖掘实验报告.doc》由会员分享,可在线阅读,更多相关《数据挖掘实验报告.doc(10页珍藏版)》请在咨信网上搜索。
精品学习资料范文 数据挖掘实验报告 篇一:数据挖掘实验报告 数据挖掘实验报告 ——K-最临近分类算法 学号:311062202 姓名:汪文娟 一、 数据源说明 1.数据理解 选择第二包数据Iris Data Set,共有150组数据,考虑到训练数据集的随机性和多样性,选择rowNo模3不等于0的100组作为训练数据集,剩下的50组做测试数据集。 (1)每组数据有5个属性,分别是:1. sepal length in cm 2. sepal wrowNoth in cm 3. petal length in cm 4. petal wrowNoth in cm 5. class: -- Iris Setosa -- Iris Versicolour -- Iris Virginica (2) 为了操作方便,对各组数据添加rowNo属性,且第一组rowNo=1。 2.数据清理 现实世界的数据一般是不完整的、有噪声的和不一致的。数据清理例程试图填充缺失的值,光滑噪声并识别离群点,并纠正数据中的不一致。 a) 缺失值:当数据中存在缺失值是,忽略该元组(注意:本文选用的第二组数据Iris Data Set的Missing Attribute Values: None)。 b) 噪声数据:本文暂没考虑。 二、 K-最临近分类算法 KNN(k Nearest Neighbors)算法又叫k最临近方法,假设每一个类包含多个样本数据,而且每个数据都有一个唯一的类标记表示这些样本是属于哪一个分类, KNN就是计算每个样本数据到待分类数据的距离,如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本 有关。因此,采用这种方法可以较好地避免样本的不平衡问题。另外,由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。 该方法的不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。 (1)算法思路: K-最临近分类方法存放所有的训练样本,在接受待分类的新样本之前不需构造模型,并且直到新的(未标记的)样本需要分类时才建立分类。K-最临近分类基于类比学习,其训练样本由N维数值属性描述,每个样本代表N维空间的一个点。这样,所有训练样本都存放在N维模式空间中。给定一个未知样本,k-最临近分类法搜索模式空间,找出最接近未知样本的K个训练样本。这K个训练样本是未知样本的K个“近邻”。“临近性”又称为相异度(Dissimilarity),由欧几里德距离定义,其中两个点 X(x1,x2,?xn)和Y(y1,y2,?yn)的欧几里德距离是: D(x,y)?(x1?y1)?(x2?y2)?...?(xn?yn)222 未知样本被分配到K个最临近者中最公共的类。在最简单的情况下,也就是当K=1时,未知样本被指定到模式空间中与之最临近的训练样本的类。 (2)算法步骤: step.1---初始化距离为最大值 step.2---计算未知样本和每个训练样本的距离dist step.3---得到目前K个最临近样本中的最大距离maxdist step.4---如果dist小于maxdist,则将该训练样本作为K-最近邻样本 step.5---重复步骤2、3、4,直到未知样本和所有训练样本的距离都算完 step.6---统计K-最近邻样本中每个类标号出现的次数 step.7---选择出现频率最大的类标号作为未知样本的类标号 三、 算法源代码 //////////////////////////////////////////////////////////////////////////////////////////////////////// // // KNN.cpp K-最近邻分类算法 // //////////////////////////////////////////////////////////////////////////////////////////////////////// #include stdlib.h #include stdio.h #include memory.h #include string.h #include iostream.h #include math.h #include fstream.h //////////////////////////////////////////////////////////////////////////////////////////////////////// // // 宏定义 // //////////////////////////////////////////////////////////////////////////////////////////////////////// #define ATTR_NUM 4//属性数目 #define MAX_SIZE_OF_TRAINING_SET 1000//训练数据集的最大大小 #define MAX_SIZE_OF_TEST_SET100 //测试数据集的最大大小 #define MAX_VALUE 10000.0//属性最大值 #define K 7 //结构体 struct dataVector { }; struct distanceStruct { }; //////////////////////////////////////////////////////////////////////////////////////////////////////// // // 全局变量 // //////////////////////////////////////////////////////////////////////////////////////////////////////// struct dataVector gTrainingSet[MAX_SIZE_OF_TRAINING_SET]; //训练数据集 struct dataVector gTestSet[MAX_SIZE_OF_TEST_SET];//测试数据集 struct distanceStruct gNearestDistance[K]; //K个最近邻距离 int ID; //ID号 double distance; //距离 char classLabel[15]; //分类标号 int ID; //ID号 char classLabel[15]; //分类标号 double attributes[ATTR_NUM]; //属性 int curTrainingSetSize=0;//训练数据集的大小 int curTestSetSize=0; //测试数据集的大小 //////////////////////////////////////////////////////////////////////////////////////////////////////// // // 求 vector1=(x1,x2,...,xn)和vector2=(y1,y2,...,yn)的欧几里德距离 // //////////////////////////////////////////////////////////////////////////////////////////////////////// double Distance(struct dataVector vector1,struct dataVector vector2) { } //////////////////////////////////////////////////////////////////////////////////////////////////////// // // 得到gNearestDistance中的最大距离,返回下标 // //////////////////////////////////////////////////////////////////////////////////////////////////////// int GetMaxDistance() { } //////////////////////////////////////////////////////////////////////////////////////////////////////// // // 对未知样本Sample分类 // //////////////////////////////////////////////////////////////////////////////////////////////////////// char* Classify(struct dataVector Sample) { double dist=0; int maxid=0,freq[K],i,tmpfreq=1;; char *curClassLable=gNearestDistance[0].classLabel; memset(freq,1,sizeof(freq)); //step.1---初始化距离为最大值 for(i=0;i i++) int maxNo=0; for(int i=1;i i++) { } if(gNearestDistance[i].distance gNearestDistance[maxNo].distance) maxNo = i; double dist,sum=0.0; for(int i=0;i ATTR_NUM;i++) { } dist=sqrt(sum); return dist; sum+=(vector1.attributes[i]-vector2.attributes[i])*(vector1.attributes[i]-vector2.attributes[i]); return maxNo; } { } //step.2---计算K-最近邻距离 for(i=0;i curTrainingSetSize;i++) {} //step.3---统计每个类出现的次数 for(i=0;i i++){ } //step.4---选择出现频率最大的类标号 for(i=0;i i++) {} return curClassLable; if(freq[i] tmpfreq){} tmpfreq=freq[i]; curClassLable=gNearestDistance[i].classLabel; for(int j=0;j j++) { } if((i!=j) (strcmp(gNearestDistance[i].classLabel,gNearestDistance[j].classLabel)==0)) { } freq[i]+=1; //step.2.1---计算未知样本和每个训练样本的距离 dist=Distance(gTrainingSet[i],Sample); //step.2.2---得到gNearestDistance中的最大距离 maxid=GetMaxDistance(); //step.2.3---如果距离小于gNearestDistance中的最大距离,则将该样本作为K-最近邻样本 if(dist gNearestDistance[maxid].distance) { } gNearestDistance[maxid].ID=gTrainingSet[i].ID; gNearestDistance[maxid].distance=dist; strcpy(gNearestDistance[maxid].classLabel,gTrainingSet[i].classLabel); gNearestDistance[i].distance=MAX_VALUE; //////////////////////////////////////////////////////////////////////////////////////////////////////// // // 主函数 // 篇二:数据挖掘实验报告1 甘肃政法学院 本科生实验报告 (一) 姓名:贾燚 学院:计算机科学学院 专业:信息管理与信息系统 班级:10级信管班 实验课程名称:数据仓库与数据挖掘 实验日期:2012年10月12日 指导教师及职称:朱正平 实验成绩: 开课时间:2011-2012学年二学期 甘肃政法学院实验管理中心印制 篇三:数据挖掘实验报告4 甘肃政法学院 本科生实验报告 (四) 姓名: 贾燚 学院:计算机科学学院 专业:信息管理与信息系统 班级:10级信管班 实验课程名称:数据仓库与数据挖掘 实验日期:2012年11月9日 指导教师及职称:朱正平 实验成绩: 开课时间:2011-2012学年二学期 甘肃政法学院实验管理中心印制- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 挖掘 实验 报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文