【实战篇】信用卡交易风险检测(三)

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 的区间。

以上是关于【实战篇】信用卡交易风险检测(三)的主要内容,如果未能解决你的问题,请参考以下文章

机器学习实战分享:用 Python 进行信用卡欺诈检测

网站漏洞——文件判断函数的安全风险(实战篇)

OpenCV | OpenCV实战从入门到精通系列三 --canny边缘检测

OpenCV | OpenCV实战从入门到精通系列三 --canny边缘检测

YOLO 目标检测实战项目『原理篇』

python数据分析案例实战——融360客户贷款风险预测(信用卡)