银行异常检测项目分析

本文对某银行信用卡欺诈检测分析做一个总结,主要任务就是通过建立逻辑回归模型对信用卡指标数据异常数据进行检测。

以下为本文分析逻辑的思维导图:

目录:

项目介绍

数据预处理

建模及评估

阈值的调整

项目总结

一,项目介绍

项目主要任务就是对银行信用卡欺诈检测进行建模分析,通过建立逻辑回归模型,拟合数据,得到recall最大的最优参数,并根据业务需要选择最优的阈值,从而对信用卡业务风险进行预测和管控

数据来源:Kaggle项目数据集,Credit Card Fraud Detection问题描述和数据集都可以到官方的描述页面下载

二,数据预处理

2.1.数据探索

观察数据集:

Time字段,表示交易时间

V1至V28字段,是通过PCA之后的特征

Amount字段,是交易金额,通过data.describe()显示,Amount字段的均值和方差和V1-V28字段的相差较大,所以需要对Amount特征归一化处理

Class是标签,1代表欺诈交易,0代表正常交易,也就是目标变量

检查是否有缺失值,未发现缺失值,故无需进行缺失值处理。

正常交易似乎有周期性,而欺诈交易看起来比较分布均匀

在欺诈交易中,最大的交易金额为2125,可见欺诈交易主要集中在小额交易范围内

正常交易和欺诈交易数量数量比大概为142:1,样本极度不不均衡

查看V1-V28字段对分类的贡献率,并筛选掉贡献率不高的字段,从下面结果图可以看出,对于很多特征的分布,正常交易和欺诈交易数据的分布很相似,对目标变量的分类贡献不大,可结合业务对贡献率不大的特征做适当筛选,这里筛除部分特征

对部分贡献率较小的特征进行删除


2.2.数据预处理

通过对数据进行探索,数据需做如下处理:

对Amount列进行归一化处理

由于样本不均衡,需要对样本进行下采样处理

时间特征暂时不分析,需要删除


归一化处理

使用StandarScaler模块中的fit_transform()函数归一化处理Amount列

下采样处理

使用random.choice函数随机选取与欺诈交易数量等数量的正常交易的索引,用concatenate函数连接等数量的正常交易记录和欺诈交易记录索引,得到下采样样本under_sample_data

三,建模及评估

得到训练集和测试集

设定train_test_split参数test_size=0.3,得到整体样本和下采样样本的训练集和测试集

交叉验证

通过遍历C参数列表[0.01,0.1,1,10,100],来交叉验证,得到最优的C参数(惩罚力度参数),其中用到KFold函数得到一个可迭代对象,其中每个元素是一个二值列表

在每个C参数下,遍历fold对象,并求出每个C参数对应的平均 recall值,最后得出最大平均recall对应的C参数,即最优惩罚力度参数

模型评估

1.导入最优参数和下采样的测试集数据,得到模型的混淆矩阵,从而得到recall值

最终recall值为0.939,模型拟合很好

2.导入最优参数和整体样本的测试集数据,得到混淆矩阵和recall值,recall值为0.911,模型拟合很好

用ROC和AUC进行评估


绘制 Precision-Recall curve:

四,阈值的调整

阈值的选择对模型的recall值有所影响,模型中默认的阈值为0.5,但为了更好的拟合数据和反映业务实际,可根据实际业务需要设定阈值,以下将展现出不同阈值下的模型的混淆矩阵

其中需要注意的是Ir.predict和Ir.predict_proba的区别

五,项目总结

1.对分类贡献率较高的特征,如V3,V11,V12,V14,V17等特征对判定欺诈交易有重要影响,在实际业务中,应重点关注

1.从交叉验证的结果来看,当正则惩罚项力度系数为0.01时,模型效果最优,recall值为0.93,拟合效果较好

2.对于阈值的设定,我们需要结合业务逻辑去设定,从上述结果图中可以可看出,阈值的设定对模型的结果又较大影响。阈值较小时,意味着我们的模型会将很多正常交易视为欺诈交易来分类了,这样会大大较低模型的精度,即使模型召回率很高,但这种状态下的模型应用意义不大;阈值较大时,意味着模型可能会过于慎重去判定为欺诈交易,这样会导致模型召回率很低,精度稍高。所以,对于逻辑回归模型,我们还需要根据业务场景来选择合适的阈值,而在本次分析中,阈值设定为默认的0.5较为合适。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342