【实战篇】信用卡交易风险检测(三)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【实战篇】信用卡交易风险检测(三)相关的知识,希望对你有一定的参考价值。
参考技术A截止目前, 信用卡交易风险检测 我们完成了数据集的导入、数据集问题观察。其中,问题观察部分我们发现:
本节,小鱼将带大家完成数据预处理的部分,数据集切分,下采样和过采样的实现方法将在连载的下篇介绍~
前面我们提到,在开始机器学习前,我们期望平等对待每个特征,这就要求特征之间的数值大小不要差距太大,特征对结果的贡献应该由和特征相乘的参数决定。
为此,我们经常需要对特征进行标准化、归一化来缩放数据集,数据样本的分布不变,只是将它们都缩放到同一个空间。
常见的缩放处理工具有如下三种:
数据集中的脱敏特征 V1 - V28 满足均值为 0 ,标准差为 1,已经完成了标准化处理。接下来,我们只需要对 Amount 和 Time 进行标准化处理即可。
sklearn 为我们提供了 StandardScaler 和 RobustScaler 来对数据集进行标准化。若数据中存在很大的异常值,可能会影响特征的均值和方差,进而影响标准化结果。
在此种情况下,使用中位数和四分位数间距进行缩放会更有效。这就是 RobustScaler 的标准化逻辑。
下面是 Amount 和 Time 原始的分布直方图:
下面是使用 StandardScaler 进行特征标准化处理的过程:
结果:
时间经过 StandardScaler 标准化处理之后,数据分布关于原点对称,且被缩放了合理区间。
交易金额 Amount 这里展示的不明显,可以使用盒图进一步观察:
交易金额经过 StandardScaler 标准化处理之后,大部分数据都分布在 0 附近,但仍存在较多的离群值,最大的甚至大于100。
接下来,我们使用 RobustScaler 来进行标准化处理:
绘制结果:
时间列标准化之后数据分布位于 -1 到 1 之间,并且关于原点对称。金额的分布似乎范围变得更广了,离群值更大了。我们用盒图对比一下:
通过上述分析发现,标准化之后,金额数据的处理还是不够理想,存在大量的离群值。为此,小鱼接下来将使用归一化,来将所有的数据特征都缩放到 0~1 区间。
绘制归一化处理后的 Amount 和 Time 分布:
绘制结果:
归一化之后,数据都被缩放到了 0~1 的区间。
以上是关于【实战篇】信用卡交易风险检测(三)的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV | OpenCV实战从入门到精通系列三 --canny边缘检测