一:为什么要预处理数据?
(1)现实世界的数据是肮脏的(不完整,含噪声,不一致)
(2)没有高质量的数据,就没有高质量的挖掘结果(高质量的决策必须依赖于高质量的数据;数据仓库须要对高质量的数据进行一致地集成)
(3)原始数据中存在的问题:
不一致 —— 数据内含出现不一致情况
反复
不完整 —— 感兴趣的属性没有
含噪声 —— 数据中存在着错误、或异常(偏离期望值)的数据
高维度
二:数据预处理的方法
(1)数据清洗 —— 去噪声和无关数据
(2)数据集成 —— 将多个数据源中的数据结合起来存放在一个一致的数据存储中
(3)数据变换 —— 把原始数据转换成为适合数据挖掘的形式
(4)数据规约 —— 主要方法包含:数据立方体聚集,维度归约,数据压缩,数值归约,离散化和概念分层等。
(5)图说事实
三:数据选取參考原则
(1)尽可能富余属性名和属性值明白的含义
(2)统一多数据源的属性编码
(3)去除唯一属性
(4)去除反复属性
(5)去除可忽略字段
(6)合理选择关联字段
(7)进一步处理:
通过填补遗漏数据、消除异常数据、平滑噪声数据,以及纠正不一致数据,去掉数据中的噪音、填充空值、丢失值和处理不一致数据
四:用图说话,(我还是习惯用统计图说话)
结尾:计算机领域存在一条歧视链的 ---- 学java的歧视学C++的,有vim的歧视用IDE的等等。
数据清洗的路子:刚拿到的数据 ----> 和数据提供者讨论咨询 -----> 数据分析(借助可视化工具)发现脏数据 ---->清洗脏数据(借助MATLAB或者Java/C++语言) ----->再次统计分析(Excel的data analysis不错的,最大小值,中位数,众数,平均值,方差等等,以及散点图) -----> 再次发现脏数据或者与实验无关的数据(去除) ----->最后实验分析 ----> 社会实例验证 ---->结束。