数据挖掘实验一数据预处理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•
实验结果:
处理前的数据(1019.txt,只列出了一部分):
处理过程:
处理后的部分数据:
wenku.baidu.com
处理前的数据(1020.txt,只列出了一部分):
处理过程:
处理后的部分数据:
处理前的数据(1021.txt,只列出了一部分):
处理过程:
处理后的部分数据:
•
实验原理:
1 、数据预处理 现实世界中的数据库极易受噪音数据、遗漏数据和不一致性数据的侵扰,为 提高数据质量进而提高挖掘结果的质量,产生了大量数据预处理技术。数据预 处 理有多种方法:数据清理,数据集成,数据变换,数据归约等。这些数据处理 技 术在数据挖掘之前使用,大大提高了数据挖掘模式的质量,降低实际挖掘所需 要 的时间。 2 、数据清理 数据清理例程通过填写遗漏的值,平滑噪音数据,识别、删除离群点,并解 决不一致来“清理”数据。 3 、数据集成 数据集成 数据集成将数据由多个源合并成一致的数据存储,如数据仓库或数据立方 体。 4 、数据变换 通过平滑聚集,数据概化,规范化等方式将数据转换成适用于数据挖掘的形 式。 5 、数据归约 使用数据归约可以得到数据集的压缩表示,它小得多,但能产生同样(或几 乎同样的)分析结果。常用的数据归约策略有数据聚集、维归约、数据压缩和 数 字归约等。
实验一、 数据预处理
学院 计算机科学与软件学院
•
实验目的:
(1)熟悉 VC++编程工具和完全数据立方体构建、联机分析处理算法。 (2)浏览拟被处理的的数据,发现各维属性可能的噪声、缺失值、不一致 性等,针对存在的问题拟出采用的数据清理、数据变换、数据集成的具体算 法。 (3)用 VC++编程工具编写程序,实现数据清理、数据变换、数据集成等功 能。 (4)调试整个程序获得清洁的、一致的、集成的数据,选择适于全局优化 的参数。
三、 实验内容:
1 、主要代码及注释 头文件 #include<iostream>
#include<string> #include<fstream> #include<algorithm> using namespace std; 1、建立存储结构 class Sales { public: string serial; int market; int posno; string date; int sn; int id; float num; float price; float total; void print() { cout << serial<< " " << market << " " << posno << " " << date << " "<<sn<<" "<<id<<" "<<num<<" "<<price<<" "<<total<<endl; } }; 2、打开源 txt 文件,并创建保存的 txt 文件 ifstream infile("1020.txt",ios::in); /*string contents;*/ if(infile.fail()) { 7 cout << "error open!" << endl; } ofstream outfile("fl.txt",ios::out); if(!outfile) { cout<<"open eror!"<<endl; exit(1); } 3、访问 txt 文件中的数据 while(!infile.eof())//判断 txt 是否结束 { infile >> sal[sal_size].serial >> sal[sal_size].market >> sal[sal_size].posno>> sal[sal_size].date>> sal[sal_size].sn>> sal[sal_size].id>> sal[sal_size].num>> sal[sal_size].price>> sal[sal_size].total; sal_size++;
} 4、处理数据 (1)判断购买数量是否为负 if (sal[i].num<0) { sal[i].num=-sal[i].num; } (2)统一日期为流水号前 8 位(既可以填补缺失值,又统一格式,同学们 也可以分步做,先填补缺失值再改成统一格式) sal[i].date.assign(sal[i].serial ,0,8); (3)保存处理过的数据同时删除冗余数据(总额,POS 机号) outfile<<sal[i].serial <<"\t"<<sal[i].market<<"\t"<<sal[i].date<<"\t"<< sal[i].sn<<"\t"<<sal[i].id<<"\t"<<sal[i].num<<"\t"<<sal[i].price<<endl; (4)关闭 txt 文件 infile.close(); outfile.close(); 2 、实验数据 实验数据保存在 1019、1020、1021 三个 txt 文件中