回炉整理《数据分析实战45讲》之基础篇 -- 13.数据变换(二)

    技术2022-07-11  77

    (接之前的)

    下面我们来看分别用Min-Max归一化、Z-Score标准化对Sklearn数据集里面的鸢尾花数据集进行处理的差别:

    首先取了原始数据集里面spal length这一特征来进行可视化:

    可以看出来是呈正太分布的,均值和中位数都在6附近。 下面掌柜分别用MinMax归一化 、Z-Score标准化来处理鸢尾花数据集,

    再次查看第一列特征的可视化图(Min-Max归一化是红色,Z-Score标准化是蓝色): 由上图可以很明显的看出来,归一化后的数据都落在了[0,1]之间;而使用标准化处理后的数据,中位数和均值都往左偏移了,处于以 0为中心的正态分布状。这也验证了我们上一篇对何时用Min-Max归一化、何时用Z-Score标准化的结论。

    掌柜用散点图也再次可以验证上面的归一化和标准化都只是对数据进行了规范处理,并没有改变数据。 这是对原始数据的散点图👆 这是Min-Max归一化后的散点图👇(注意坐标轴变化): 最后是Z-Score标准化处理后的数据散点图👇

    上面对数据规范化的补充就基本结束了,接下来是简单讲解一下关于另外几种数据预处理的方法。

    PPPS: 补充第二点 1.1. 数据平滑

    首先数据平滑处理是什么? 它指消除数据中不需要的噪声或行为的方法,它让特征更加明显。那么问题又来了,什么时候需要进行数据平滑处理? 当要对趋势进行预测的时候,就需要进行数据平滑处理。比如时序预测、证券走势预测,客户趋势或任何其他业务信息的变化。接下来问题又又来了,数据平滑处理的方式/方法有哪些? 第一种:移动窗口方法,主要用在时间序列操作中,在Pandas中有对应的方法:rolling函数。 那么问题又又来了,这里的移动窗口指的是什么?先说这里窗口的含义,就字面意思来看,就是被框住的一段区间。而这里指👉数列中把某个点的取值扩大到某一段区间的均值。那么移动窗口实际上就是移动的这段区间的均值。掌柜这里画个图可能更易理解。 现在对移动窗口理解了(更多资料参看pandas官方文档),那么如何用移动窗口方法进行数据平滑处理呢? 再看下面这个图: 上图黄色的就是数据平滑处理后的走势,可以明显发现确实平滑了很多。

    (代码最后一并放到GitHub上面,谢谢理解!) (未完待续。。。)

    参考资料: pandas --移动窗口rolling的概念 利用Python进行数据分析

    Processed: 0.022, SQL: 9