概述
获取第三章的思维导图文件, jupyter代码文件和数据集可以在我们 "数据臭皮匠" 中回复"第三章1" 获取
1.数据清理
缺失值处理
处理缺失值得几种方法,了解下就好,深究也没意思,需要在建模的过程中逐步体会每一种方法的优缺点,换了缺失值的处理方法,可能对预测结果也没啥影响,也可能影响很大,需要一点点提升模型精度的时候可以逐个试下,上图中的处理方法从上到下越来越靠谱,但实现起来也愈加麻烦。
噪声数据处理
噪声处理,我觉得回归的方法用的最少,分箱在建立逻辑回归时用的很多,离群点分析显得不够成体系,明显的数据错误会处理下,更隐蔽的异常值需要在遇到的时候再处理
2.数据集成冗余和相关分析
卡方检验
书中对卡方检验的计算步骤说明的很清楚, 详细代码实现可以参考上述代码, 计算结果和书中一致
相关系数
相关系数是常用的衡量两列数据是否相关的指标, 本文将使用Q-Q图文章中使用的学生成绩数据集, 计算学生的数学分数和阅读分数的相关性
皮尔逊相关系数
皮尔逊相关系数的计算有成熟的包可以调用, 建议读者直接调包使用, 如果想练习下计算过程可以参考上图的手写函数
协方差
以上代码显示, 当除以(n-1) 时得到的结果和调包计算结果是一致的, 除以n时是不一致的, 这并不说明书中公式错了, 详细解释涉及到统计学中协方差和样本协方差的区别问题,样本协方差通常是作为协方差的估计量来使用的,如果除以 n,那么这个估计是最大似然的,如果除以 n-1,那么这个估计是无偏的。这两个优点不可兼得,就看你更注重哪个了,好在 n 大了之后,二者的差别就可以忽略了。
协方差的计算有成熟的包可以调用, 建议读者直接调包使用, 如果想练习下计算过程可以参考上图的手写函数
3、数据规约
本节感觉在对空讲,不接地气儿,小波变换和主成分分析就提了下,分别做了个简介,建议读者不要过多的纠结这两个算法,后面笔者会专门针对主成分分析梳理一篇文章,属性子集的选择在建模过程中选择变量时可以使用。
4.数据变换与数据离散化
最小最大规范化
最大最小规范化是数据挖掘中常用的数据处理方法,成熟且常用的包可以调用sklearn.preprocessing.MinMaxScaler实现, 建议直接调包使用, 以上代码也提供了手写的函数实现, 可以看到在默认值和规定最大值最小值的情况下都与调包结果一致, 如果希望了解内部计算过程的可以参考下
Z分数规范
Z分数规范化又称z-score标准化, 是数据挖掘中常用的数据处理方法,成熟且常用的包可以调用sklearn.preprocessing.StandardScaler实现, 建议直接调包使用, 以上代码也提供了手写的函数实现, 可以看到手写函数与调包结果一致
作者:范小匠
审核:灰灰匠
编辑:森匠