基于大数据分析技术实现对信用卡盗刷的预防
代码和数据下载: 数据及代码源码下载
摘 要
近年来信用卡已成为我国社会公众使用最广泛的非现金支付工具,然而在带给人们生活便利的同时,被盗刷的现象也在增多。好在随着信息技术的不断发展,近年来金融行业的数据存储已基本实现全数字化,积累了庞大的数据量,为大数据技术的应用提供先天条件。随着大数据技术应用方面的不断探索,通过数据分析实现审计功能,“让数据说话”,极大的提高了审计的质量和效率。
本文将通过数据分析,对银行消费进行分析,判断用户的信用卡的消费是否非本人所为即是否存在盗刷行为,我们将采用二分类——逻辑回归算法对海量数据进行训练并创建相关数据模型,进行预测是否属于信用卡盗刷现象,从而预防此类现象的发生。数据集训练前我们将对数据的部分属性进行标准化处理以便减少数据差异化。
关键词:数据分析、二分类、逻辑回归算法、标准化
Based on big data analysis technology to realize the
prevention of credit card theft
Author: 一只飞翔的章鱼
Abstract
In recent years, credit card has become the most widely used non cash payment tool for the public in our country. However, while bringing convenience to people's lives, the phenomenon of stolen credit card is also increasing. Fortunately, with the continuous development of information technology, in recent years, the data storage in the financial industry has basically realized full digitalization, accumulated a huge amount of data, and provided congenital conditions for the application of big data technology. With the continuous exploration of the application of big data technology, the audit function is realized through data analysis, which greatly improves the quality and efficiency of audit.
In this paper, through data analysis, bank consumption will be analyzed to determine whether the user's credit card consumption is not what he or she does, that is, whether there is theft. We will use the two classification - logical regression algorithm to train the massive data and create the relevant data model to predict whether it belongs to the phenomenon of credit card theft, so as to prevent the occurrence of such phenomenon. Before data set training, we will standardize some attributes of data to reduce data differentiation.
Keywords: Data Analysis、Two Categories、Logistic Regressive、Normalization
目 录
一、绪论................................................................ 1
二、 项目背景............................................................ 1
(一)数据说明.............................................. 1
三、 项目分析............................................................ 2
(一)思路导图.............................................. 2
(二)场景解析.............................................. 2
(三)数据预处理............................................ 4
四、 信用卡防盗刷数据分析建模............................................ 5
(一)项目执行环境.......................................... 5
(二)符号说明.............................................. 6
(三)查看数据集结构........................................ 6
(四)数据解析.............................................. 6
(五)特征缩放.............................................. 7
(六)查看特征向量进行特征选择.............................. 8
(七)通过逻辑回归训练并预测模型........................... 11
(八)模型优化提高召回率................................... 12
五、 总结............................................................... 15
六、 参考文献........................................................... 15
本文将对银行客户交易的信息进行数据分析,通过机器学习,构建信用卡防欺诈预测模型,提前发现客户信用卡被盗刷的事件,从而来减少银行卡被盗刷的现象,展现大数据时代,数据分析对金融行业的重要性。
数据集包含由欧洲持卡人于2013年9月使用信用卡进行字符的数据。此数据集显示两天内发生的交易,其中284,807笔交易中有492笔被盗刷。被盗刷的数量占所有交易的0.172%。
召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。
已知数据中没有空值所以不进行数据清洗,之后要将数据进行划分,划分90%的训练集、10%的测试集用于测试判断得分。注意分割原则:进行随机分割、训练集比例大于测试集。
所需包:Numpy1.18.1、Pandas1.0.1、Sklearn、Matplotlib3.1.3
符号 |
符号含义 |
data |
存放creditcard.csv中的全部数据 |
c、y |
存放class类别即是否是盗刷,1是,0否 |
cond_0 |
没有被盗刷的数据集位置 |
cond_1 |
被盗刷的数据集位置 |
data2 |
存放经过去除data里非必要属性后的数据 |
X |
存放自变量即特征类 |
X_train |
存放特征类的训练集数据 |
X_test |
存放特征类的测试集数据 |
y_train |
类别的训练集数据 |
y_test |
类别的测试集数据 |
查看数据集的详细信息,可以看到Time最大数据为172792,因为数据集说明了是两天的数据,172792/3600 = 47.9近似等于48即两天,所以可以断定该属性单位是秒(s)。
查看时数据集是否有缺失值,如下图;已知数据有284807,所以根据图可以看到每一列都没有缺失值,所以不需要记性数据清洗。
Amount变量与Time变量取值范围大,所以进行缩放 ,从上面可以看出数据为结构化数据,不需要做抽象特征转化,但特征Time和Amgun的数据规格和其他特征不一样,需要对其做特征缩放(即归一化)
对Amount进行特征缩放,经过缩放后,可以看到Amount数据集全部变成跟Vn类似的数据类型。
对Time进行转换,减小数据差异,可以先将秒转换成小时,之后再进行标准化处理。
绘制出盗刷比例图,查看数据是否均衡。可以看到1占全部支付中及其少,但数量只够进行建模
对V1~V28进行特征选择,去除对Class影响不大的数据。
一般情况下,如果蓝色与橙色分离度越高,说明该列属性中对0和1的区分度越大,重合度越高则说明该列对其分类不明显,因此就可以将其删除,减少训练成本,但是们要秉承尽量少删除的原则,能留则留的态度。
根据对28个列对类别的影响图,可以看到,V8 、v13、v15、v20、v22、v23、v24、v25、v26、v27、v28列重合度比较高,所以将其筛选删除。
对特征重要性进行排序,进一步筛选变量。利用GBDT梯度提升决策树进行特征重要性排序。可以看到现存变量对类别影响的重要性。
特征剔除完成之后,为了扩大数据集,我们将对数据集进行SMOT过采样,扩大数据集,可以看到数据集变成了568630扩大了两倍,因此训练后的强度更大,结果肯定也就更准确。
通过逻辑回归训练数据集,通过测试集得到训练结果评分为:0.9374461424828096
查看混淆矩阵,计算召回率。25468/25468+716 = 0.0013966480446927。
虽然看准确率比较高,但召回率仍然不高,对银行来说仍然是巨大损失,所以我们要尽量减少预测为1真实为0的数据。
利用GridSearchCV进行交叉验证和模型参数自动调优,获取他的最优参数。
查看调整后的召回率,可以看到实际为0预测为1减少了一个,但是调整仍然不够。
|
由于银行对召回率的需要,因此我们尽量选择准确率和召回率的高峰。
因此我们选择:threshold:0.3000,score:0.9353,Recall:0.9298
[1]尹蕾. 大数据技术在YJ银行反舞弊审计中的应用研究[D].南京大学,2019.
[2]简书 https://www.jianshu.com/p/9e801f1f04bd
[3]信用卡消费数据集 kaggle: https://www.kaggle.com/jacklizhi/creditcard
基于大数据分析技术实现对信用卡盗刷的预防相关推荐
- 基于大数据分析技术在会计方面的研究
第一节 摘 要 在现如今大数据时代的背景下,有越来越多的企业正经受着数据网络的考验,其中很突出的就是管理會计,作为企业财务中一个重要的组成部分,是持续为企业整合和加工财务资料的职务,管理会计正为企业发 ...
- 基于大数据分析的安全管理平台技术研究及应用
http://www.venustech.com.cn/NewsInfo/531/25566.Html [内容摘要]本文首先通过介绍大数据的起因,给出了大数据的定义和特征描述,并简要说明了当前大数据的 ...
- 大数据统计分析毕业设计_基于大数据分析的电子信息类专业毕业设计成绩影响因素研究...
基于大数据分析的电子信息类专业毕业设计成绩影响因素 研究 温芳琴 [期刊名称] <佳木斯教育学院学报> [年 ( 卷 ), 期] 2019(000)011 [摘要] 通过收集苏州科技大学天 ...
- 基于大数据技术的综合数据分析平台
对于企业来说,利用大数据技术建立综合数据分析平台有利于企业内的管理人员更好地掌握企业的实际情况,有效控制企业的经营成本,提高企业的经济效益,同时全面提高企业的管理水平,对企业的发展有非常积极的促进作用 ...
- 【2015年第4期】基于大数据技术的P2P网贷平台风险预警模型
基于大数据技术的P2P网贷平台风险预警模型 林春雨1,李崇纲1,许方圆2,许会泉1,石 磊1,卢祥虎1 (1. 北京金信网银金融信息服务有限公司 北京 100101:2. 国网能源研究院 北京 100 ...
- 基于大数据技术之电视收视率企业项目实战(hadoop+Spark)
基于大数据技术之电视收视率企业项目实战(hadoop+Spark) 网盘地址:https://pan.baidu.com/s/1bEeSB1Y9nmjzctnbJMcBkg 密码:dohg 备用地址( ...
- 判断图有无环_数读湾区经济潜能:基于大数据分析的环杭州湾大湾区“一体化”发展潜能!...
前言 湾区是由一个海湾或相连若干个海湾.港湾及邻近岛屿共同组成的区域.从世界湾区经济发展看,沿海湾区聚集的通常是最为发达和最具竞争力的城市群,世界著名湾区有东京湾区.纽约湾区和旧金山湾区等,湾区经济 ...
- 基于大数据分析的葡萄酒品质鉴别系统设计与实现
温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目背景 葡萄酒品鉴既是一门科学,也是一门艺术.品鉴葡萄酒,首先当然要能鉴别酸.甜.苦.咸.鲜五种基本味道,它 ...
- 健康大数据分析技术有哪些?
21世纪是以生命科学为主导.科学技术迅猛发展的世纪,科技竞争力已成为决定国家前途和命运的重要因素,是推动经济发展.促进社会进步和维护国家安全的关键所在.医学在生命科学中占有极其重要的地位,卫生科技的创 ...
最新文章
- MIT副教授赵宇飞团队登数学四大顶刊,华人作者中两位是本科生,最小的是00后...
- Canvas 渐变 图像组合效果 颜色翻转
- 【EventBus】发布-订阅模式 ( Android 中使用 发布-订阅模式 进行通信 )
- 微信6516android,微信6516版本怎么可以分组
- python如何做一个数据库_Python创建一个新的Django项目(连接到MySQL数据库),python,新建,mysql...
- Java内存模型深度解析:总结
- linux rpm版本号,linux中RPM包命名规则
- 信号回勾产生的原因_为什么照片放大会有噪点?产生噪点的4个因素,来了解一下...
- Python_三级菜单
- FPGA信号处理系列文章——卷积编码与维特比译码
- 2023天津大学土木水利专业考研成功经验分享
- zyf的简单数学题(找规律)
- lwip 动态修改IP
- input的失焦事件处理
- a++ 和 ++a 的区别
- android 传感器应用
- 【项目】数仓项目(二)
- 用python进行数据分析葡萄酒,哪里最好
- 京东单品页前端开发那些不得不说的事儿 1
- JVM如何识别“到底谁才是垃圾“?
热门文章
- [转]Android面试系列之一
- 【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD登录并获取AccessToken -- cca.acquireTokenByCode(tokenRequest)
- 机器学习在生活中的九大有趣应用
- 小米工程师爱心捐建的新阳光病房学校落地江西
- 查看电脑当前使用的壁纸
- ug钣金冲压成型--混合折弯
- js操作设置css动画,使用 CSS3 和 JavaScript 制作链接反转 3D 动画 - 文章教程
- 计算机多媒体就业难点,【计算机专业论文】信息技术在计算机教学中的新研究(共3002字)...
- 软件:股票小助手/盯盘小助手!
- Scratch软件编程等级考试四级——20210320