数据预处理备忘

来源:互联网 发布:js导出excel兼容ie 编辑:程序博客网 时间:2024/06/05 15:19

这一块的每一个小点都可以引申出很多的东西,所以先做一个大概,用以备忘,持续更新。
*一般过程:
(1)数据采集
数据采集是最基本也很耗时间的工作。比如对于具体的工程事件,需要考虑采集哪些类型的数据?需要哪些属性?需要多少数据支撑?然后再实际去采集这些数据,离线采集?在线获取?

(2)数据预处理
基于最后期望的目标结果,对于当前的数据,如何处理当前的数据类型,比如如何处理有序变量?如何处理无序变量?数据可信吗?有缺失值吗?应该正则化吗?离群值,噪音点怎么处理?特征工程?偏差检测?样本过滤?等等等等,数据清洗将会耗去大量的时间。

(3)解释模型结果和调整模型
根据数据,选用合适的模型,然后不断的根据结果微调模型,改进模型。或是在发现某些问题后,再返回第二步,重做第三步。不断的评估模型以完成最好的结果。

*如何进行特征选择?
PCA:寻找表示数据分布的最优子空间,将原始数据降维,并提取不相关的部分。
LDA:寻找可分性判据最大的子空间。使得降维后类内散度最小,类间散度最大
ICA:将原始数据降维并提取出相互独立的属性,ICA理论的目标就是通过X求得一个分离矩阵W,使得W作用在X上所获得的信号Y是独立源S的最优逼近。ICA相比与PCA更能刻画变量的随机统计特性,且能抑制高斯噪声。
CCA,找到两组基,使得两组数据在这两组基上的投影相关性最大,用来描述两个高维变量之间的线性关系

特征选择:包裹式,过滤式,嵌入式
数据压缩:主成分分析,自编码等

*如何数据预处理?
目标是:准确性,完整性,一致性,时效性,可信性,可解释性。

数据清洗:处理缺失值光滑噪音数据识别离群点错误点修正逻辑
数据集成:多个数据源可能对同一属性有不同的名字而造成的冗余冲突值重复项等。
数据规约:降维数据压缩数量规约,以简化数据集。
数据变换:规范化数据离散化概念分层,粒度,数据类型变换属性构造

*如何处理缺失数据?
产生原因:数据无法获取,被遗漏,属性不可用,或者不重要等。
解决方法:
删除缺失行,从而得到一个完备的信息表。以数据量来换取信息的完备,会造成资源的大量浪费,而且丢弃了大量隐藏信息,甚至是某些很重要的信息。
人工填写,特殊全局常量值,平均值,寻找最相似的对象补齐,K近邻平均补齐,回归,EM,寻找属性间的关系(决策树),所有的可能值填充。
不处理,贝叶斯网络和神经网络.

*如何评估模型?
方差,误差,R平均值。
ROC曲线
AUC(ROC曲线下面积)
Lift(提升)和Gain(增益)
K-S图
基尼系数

*如何处理稀疏数据?
流型降维,数据平滑。