1 / 96
文档名称:

河北工业大学数据挖掘实验报告.doc

格式:doc   大小:422KB   页数:96页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

河北工业大学数据挖掘实验报告.doc

上传人:小屁孩 2020/8/25 文件大小:422 KB

下载得到文件列表

河北工业大学数据挖掘实验报告.doc

文档介绍

文档介绍:实验一 数据预处理一、实验目的1、熟悉VC++编程工具和完全数据立方体构建、联机分析处理算法。2、浏览拟被处理的的数据,发现各维属性可能的噪声、缺失值、不一致性等,针对存在的问题拟出采用的数据清理、数据变换、数据集成的具体算法。3、用VC++编程工具编写程序,实现数据清理、数据变换、数据集成等功能。4、调试整个程序获得清洁的、一致的、集成的数据,选择适于全局优化的参数。5、写出实验报告。二、实验原理1、数据预处理现实世界中的数据库极易受噪音数据、遗漏数据和不一致性数据的侵扰,为提高数据质量进而提高挖掘结果的质量,产生了大量数据预处理技术。数据预处理有多种方法:数据清理,数据集成,数据变换,数据归约等。这些数据处理技术在数据挖掘之前使用,大大提高了数据挖掘模式的质量,降低实际挖掘所需要的时间。2、数据清理数据清理例程通过填写遗漏的值,平滑噪音数据,识别、删除离群点,并解决不一致来“清理”数据。3、数据集成数据集成将数据由多个源合并成一致的数据存储,如数据仓库或数据立方体。4、数据变换通过平滑聚集,数据概化,规范化等方式将数据转换成适用于数据挖掘的形式。5、数据归约使用数据归约可以得到数据集的压缩表示,它小得多,但能产生同样(或几乎同样的)分析结果。常用的数据归约策略有数据聚集、维归约、数据压缩和数字归约等。三、实验内容和步骤 1、实验内容1、用VC++编程工具编写程序,实现数据清理、数据变换、数据集成等功能,并在实验报告中写出主要的预处理过程和采用的方法。2、产生清洁的、一致的、集成的数据。3、在试验报告中写明各主要程序片段的功能和作用。2、实验步骤1)仔细研究和审查数据,找出应当包含在你分析中的属性或维,发现数据中的一些错误、不寻常的值、和某些事务记录中的不一致性。2)进行数据清理,对遗漏值、噪音数据、不一致的数据进行处理。例如:1、日期中的缺失值可以根据统一的流水号来确定。2、购买的数量不能为负值。3)进行数据集成和数据变换和数据归约,将多个数据源中的数据集成起来,减少或避免结果数据中的数据冗余或不一致性。并将数据转换成适合挖掘的形式。例如:1、进行完数据清理后发现购买数量、销售价格、总额是相互关联的项可以去掉总额。2、三个流水表日期的格式不一样应统一成相同的日期格式。3、门号和pos机号码一样,可以去掉一个。4、附加:同一购物篮的商品序号应该是顺序递增的。四、实验结果源程序:#include<iostream>#include<string>#include<fstream>#include<algorithm>usingnamespacestd;classSales{public: stringserial; intmarket; intposno; stringdate; intsn; intid; floatnum; floatprice; floattotal; voidprint() { cout<<serial<<""<<market<<""<<posno<<""<<date<<""<<sn<<"" <<id<<""<<num<<""<<price<<""<<total<<endl; }};intmain(){ ofstreamoutfile("",ifstream::app); if(!outfile) { cout<<"openerror!"<<endl; exit(1); } charname[50]; ifstreaminfile; cout<<"输入要打开的txt文件名:,,"<<endl; //intN=3; //for(intk=0;k<N;k++) //{ //cout<<"输入要打开的第"<<k+1<<"个文件名"<<endl; cin>>name; (name,ios::in);//ifstreaminfile("",ios::in); (); /*stringcontents;*/ if(()) { cout<<"erroropen!"<<endl; } //ofstreamoutfile("",ofstream::app); //ofstreamoutfile("",ios::out); //if(!outfile) //{ //cout<<"openerror!"<<endl; //exit(1); //} Salessal[13000]; intsal_size=0; while(!()) { infile>>sal[sal_size].serial>>sal[sal_size].market>>sal[