您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 数据挖掘实验一数据预处理
数据挖掘实验一数据预处理1/5实验一、数据预处理学院计算机科学与软件学院•实验目的:(1)熟悉VC++编程工具和完全数据立方体构建、联机分析处理算法。(2)浏览拟被处理的的数据,发现各维属性可能的噪声、缺失值、不一致性等,针对存在的问题拟出采用的数据清理、数据变换、数据集成的具体算法。(3)用VC++编程工具编写程序,实现数据清理、数据变换、数据集成等功能。(4)调试整个程序获得清洁的、一致的、集成的数据,选择适于全局优化的参数。•实验原理:1、数据预处理现实世界中的数据库极易受噪音数据、遗漏数据和不一致性数据的侵扰,为提高数据质量进而提高挖掘结果的质量,产生了大量数据预处理技术。数据预处理有多种方法:数据清理,数据集成,数据变换,数据归约等。这些数据处理技术在数据挖掘之前使用,大大提高了数据挖掘模式的质量,降低实际挖掘所需要的时间。2、数据清理数据清理例程通过填写遗漏的值,平滑噪音数据,识别、删除离群点,并解决不一致来“清理”数据。3、数据集成数据集成数据集成将数据由多个源合并成一致的数据存储,如数据仓库或数据立方体。4、数据变换通过平滑聚集,数据概化,规范化等方式将数据转换成适用于数据挖掘的形式。5、数据归约使用数据归约可以得到数据集的压缩表示,它小得多,但能产生同样(或几乎同样的)分析结果。常用的数据归约策略有数据聚集、维归约、数据压缩和数字归约等。三、实验内容:1、主要代码及注释头文件#includeiostream#includestring#includefstream#includealgorithmusingnamespacestd;数据挖掘实验一数据预处理2/51、建立存储结构classSales{public:stringserial;intmarket;intposno;stringdate;intsn;intid;floatnum;floatprice;floattotal;voidprint(){coutserialmarketposnodatesnidnumpricetotalendl;}};2、打开源txt文件,并创建保存的txt文件ifstreaminfile(1020.txt,ios::in);/*stringcontents;*/if(infile.fail()){7couterroropen!endl;}ofstreamoutfile(fl.txt,ios::out);if(!outfile){coutopeneror!endl;exit(1);}3、访问txt文件中的数据while(!infile.eof())//判断txt是否结束{infilesal[sal_size].serialsal[sal_size].marketsal[sal_size].posnosal[sal_size].datesal[sal_size].snsal[sal_size].idsal[sal_size].numsal[sal_size].pricesal[sal_size].total;sal_size++;}4、处理数据(1)判断购买数量是否为负数据挖掘实验一数据预处理3/5if(sal[i].num0){sal[i].num=-sal[i].num;}(2)统一日期为流水号前8位(既可以填补缺失值,又统一格式,同学们也可以分步做,先填补缺失值再改成统一格式)sal[i].date.assign(sal[i].serial,0,8);(3)保存处理过的数据同时删除冗余数据(总额,POS机号)outfilesal[i].serial\tsal[i].market\tsal[i].date\tsal[i].sn\tsal[i].id\tsal[i].num\tsal[i].priceendl;(4)关闭txt文件infile.close();outfile.close();2、实验数据实验数据保存在1019、1020、1021三个txt文件中•实验结果:处理前的数据(1019.txt,只列出了一部分):处理过程:处理后的部分数据:数据挖掘实验一数据预处理4/5处理前的数据(1020.txt,只列出了一部分):处理过程:处理后的部分数据:处理前的数据(1021.txt,只列出了一部分):数据挖掘实验一数据预处理5/5处理过程:处理后的部分数据:
本文标题:数据挖掘实验一数据预处理
链接地址:https://www.777doc.com/doc-7286332 .html