【练习】信用卡欺诈检测

1 数据分析与预处理

建立逻辑回归模型,对正常交易数据和异常交易数据进行分类。

1.1 数据读取与分析

从csv文件中读取数据:

在机器学习任务中,加载数据之后,首先应当观察数据是否存在问题,把问题处理掉之后,再考虑特征提取与建模任务。

查看数据集中的正负样本均衡情况:

数据不平衡会对结果造成影响:我们的任务目标就是找到异常数据,如果模型不重视异常数据,结果就没有意义。所以,首先要做的就是解决样本不平衡问题。

1.2 样本不平衡解决方案

造成数据标签不平衡的最根本原因是它们的个数相差悬殊,如果能让他们个数相差不大,或者比例接近,问题就解决了。

下采样

让正常样本减少到和异常样本数量一样少。

下采样存在的问题:即使原始数据很丰富,下采样之后,只利用了其中一小部分,可能会对结果造成影响。

过采样

让异常样本增加到和正常样本一样多。

可以对数据进行变换,假造一些异常数据,数据生成也是现阶段常见的一种套路。

过采样存在的问题:数据生成解决了异常样本数量的问题,但是异常数据毕竟是造出来的,也可能会对结果造成影响。

1.3 特征标准化

数据特征决定结果的上限,而模型调优只决定如何接近这个上限。

模型对数值是十分敏感的,它不像人类能够理解每一个指标的物理含义,可能会认为数值大的数据更重要。

特征标准化就是希望数据经过处理之后得到的每一个特征的数值都在较小范围内浮动。

特征标准化
使用sklearn进行特征标准化

2 下采样方案

下采样流程:

1)计算异常样本个数并取索引

2)在正常样本中抽取指定个数的样本

3)把所有样本索引拼接在一起

4)根据索引得到样本点

下采样解决方案

2.1 交叉验证

得到输入数据后,接下来划分数据集,使用训练集完成建模,使用测试集完成模型测试工作。

在模型训练过程中,也会涉及一些参数调整,所以,还需要一些验证集,帮助模型进行调参。

在训练集划分成很多份,这样做的目的在于,建模过程中,需要调整各种可能影响结果的参数,因此,需要知道每一种参数方案的效果,验证集就是在建模过程中评估参数用的。

交叉验证步骤:

1)把训练集切分成多份,例如将训练集分成10份

2)在验证每一次结果时,需要把整个过程分成10步,第一步用前9份当作训练集,得到一个结果

3)每次都依次用另外一份当验证集,其他部分当作训练集

4)经过10步之后,得到了10个结果,每个结果分别对应其中每一小份,组合在一起恰好包含原始训练集中的所有数据

5)再对最终得到的10个结果进行平均,得到最终模型评估结果

将数据集切分为训练集和测试集:

切分数据集
下采样数据集划分

2.2 模型评估方法

对TP、TN、FP、FN四个关键词的理解:

TP:T表示模型预测正确,P表示被预测成正例,组合在一起就是将正例预测为正例

TN:T表示预测正确,N表示被预测成负例,即将负例预测为负例

FP:F表示预测错误,P表示预测为正例,即错将负例预测为正例

FN:F表示预测错误,N表示预测为负例,即错将正例预测为负例

常见的评估指标:

准确率(accuracy):表示在分类问题中,预测正确的占总体的百分比=预测正确 / 整体

准确率

召回率(recall):表示在实际正例中有多少预测正确,覆盖面的大小=预测正确的正例/所有实际的正例

召回率

精确度(precision):表示被预测为正例中实际为正例的比例=预测对的正例/所有预测为正例的

精确度

信用卡分类任务中,应当使用哪一个评估指标呢?

我们比较关注的是,在所有异常交易记录中,正确预测出来了多少,所以,比较重要的是召回率。

2.3 正则化惩罚

过拟合

建模的出发点是尽可能多地满足样本数据:

欠拟合:模型过于简单,没有满足大部分数据样本点

正常模型:可以满足大部分样本点

过拟合:模型过于复杂,在训练集上表现良好,在测试集上表现很差

对于同一算法来说,模型复杂度由其中要求解的参数控制,如果在训练集上得到的参数值忽高忽低,就很可能导致过拟合。

正则化惩罚是为了解决过拟合准备的,即惩罚数值较大的权重参数,让它们对结果的影响小一点。

在实际建模中,也需要进行这样的筛选,选择泛化能力强也就是稳定的权重参数。

L1和L2正则化惩罚项:

L1正则化中可以对|w|求累加和,但是只直接计算绝对值求累加和的话,1+0+0+0和0.25+0.25+0.25+0.25的结果是相同的,无法做出区分

L2正则化惩罚力度更大,对权重参数求平方和,目的是让大的更大,相对惩罚更多

α系数,表示正则化惩罚的粒度。以一种极端情况举例说明:如果α值比较大,意味着要非常严格地对待权重参数,此时正则化惩罚的结果会对整体目标函数产生较大影响。如果α值较小,意味着惩罚力度较小,不会对结果产生太大影响。

3 逻辑回归模型

3.1 参数对结果的影响

逻辑回归算法中,涉及的参数比较少,这里仅对正则化惩罚力度进行调参实验,为了对比分析交叉验证的效果,对不同验证集分别进行建模与评估分析。

3.2 混淆矩阵

下采样测试集中,异常样本和正常样本的比例基本均衡,但实际数据并非如此,相当于在测试时用理想情况代替真实情况,这样检测结果可能会偏高。所以,测试的时候需要使用原始数据的测试集,才更具代表性。

3.3 分类阈值对结果的影响

逻辑回归算法中,通过sigmoid函数将得分值转化成概率值,默认情况下是以0.5为界限来划分类别。

0.5是一个经验值,但并不是固定的,实践中可以自己指定该阈值的大小。 如果阈值设置得比较大,相当于要求变得严格,只有非常异常的样本,才能当做异常;如果阈值设置得比较小,相当于宁肯错杀不能放过,只要有一点异常就通通抓起来。

在sklearn中,即可以用.predict()得到0.5为默认阈值得分类结果,也可以用.predict_proba()函数得到其概率值,而不进行类比判断。

4 过采样方案

生成样本策略,最常用的是SMOTE算法:

1)对于少数类中每一个样本x,以欧式距离为标准,计算它到少数类样本集中所有样本的距离,经过排序,得到其近邻样本;

2)根据样本不平衡比例设置一个采样倍率N,对于每一个少数样本x,从其近邻开始依次选择N个样本;

3)对于每一个选出的近邻样本,分别与原样本按照如下公式构建新的样本数据:

使用过采样数据调参

学习资料:唐宇迪机器学习课程 第五章 信用卡欺诈检测项目

数据及代码 链接:https://pan.baidu.com/s/1lDVHpi_fnGdHvtSwOvXSMw  提取码:1gpt

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