《机器学习Python实战》课件 21-项目10 项目拓展-多层感知机进行信用卡欺诈检测_第1页
《机器学习Python实战》课件 21-项目10 项目拓展-多层感知机进行信用卡欺诈检测_第2页
《机器学习Python实战》课件 21-项目10 项目拓展-多层感知机进行信用卡欺诈检测_第3页
《机器学习Python实战》课件 21-项目10 项目拓展-多层感知机进行信用卡欺诈检测_第4页
《机器学习Python实战》课件 21-项目10 项目拓展-多层感知机进行信用卡欺诈检测_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机器学习Python实战

项目10项目拓展——多层感知机进行信用卡欺诈检测目录CONTENTS01任务导入从「钱袋子」安全到智能风控·科技向善、金融为民02任务目标会准备数据·会处理不平衡·会建模评估03相关知识欺诈之困·模型演进·数据集·三项升级04任务实施读取→预处理(欠采样+标准)→建模训练调参05总结提升结果分析·项目小结·要点回顾与延伸项目10神经网络基础与应用实战·10.3多层感知机进行信用卡欺诈检测任务导入一张信用卡交易,机器凭什么判定它「有诈」?现实·风险就在身边·电信诈骗、信用卡盗刷频发,公安部「断卡行动」持续护航百姓「钱袋子」。·线上交易规模爆发式增长,欺诈损失逐年攀升,单笔限额、异地拦截等规则已力不从心。·误报率高、召回率低——好交易被拦、坏交易漏过,双重伤害用户体验与资金安全。本任务·智能风控思路·基于欧洲卡组织真实脱敏数据(284807笔交易)构建MLP欺诈识别模型。·输出每笔交易的「风险概率」,为风控引擎提供可解释的「拒绝得分」。·「机器先筛+人工复核」精准拦截,让科技真正守护金融安全、服务民生。本任务要做的事输入:一笔交易特征V1~V28/Amount/Time等30维特征多层感知机MLPClassifier双隐藏层·非线性输出:风险得分0正常1欺诈带着两个问题学:①欺诈仅占0.17%,模型为何会「偷懒」全判正常?②怎样让少数类被看见?——答案在后面实操里。项目10神经网络基础与应用实战·10.3多层感知机进行信用卡欺诈检测任务目标本任务基于真实信用卡交易数据,构建多层感知机(MLP)欺诈识别模型,完成「数据准备→不平衡处理→建模评估」的完整流程,具体目标如下:01会准备数据——读取并理解欺诈交易特征会读取creditcard.csv并查看shape、列名与类别分布;理解V1~V28(PCA脱敏)、Amount、Time、Class各字段含义;认识「极端不平衡」这一核心难点。02会处理不平衡——欠采样+标准化+拆分会用RandomUnderSampler将欺诈/正常由1∶578平衡到1∶1;会用StandardScaler标准化、train_test_split按8∶2拆分并stratify保持比例;理解剔除Time防数据泄露。03会建模评估——训练MLP并用指标判断好坏会用MLPClassifier(random_state=42,max_iter=1000)训练模型;会用score()查看准确率;理解在欺诈检测中更应关注少数类的召回与精确率,培养「金融为民、审慎评估」的责任意识。项目10神经网络基础与应用实战·10.3多层感知机进行信用卡欺诈检测相关知识①·任务背景与欺诈之困线上交易爆发,规则引擎失灵——用机器学习守住百姓「钱袋子」传统规则引擎(单笔限额、异地拦截)·误报率高:好交易频繁被拦,用户体验受损。·召回率低:欺诈模式快速变化,漏过坏交易。·更新慢、覆盖窄、易被绕过——专家阈值跟不上黑产。·应对「快速变化的欺诈模式」已力不从心。本任务目标(科技向善·金融为民)·数据:欧洲卡组织2013年9月真实脱敏交易。·模型:多层感知机(MLP)自动学习欺诈模式。·输出:每笔交易的风险概率=可解释的「拒绝得分」。·落地:「机器先筛+人工复核」实现精准拦截。!风控模型背后是「守护百姓钱袋子」的民生责任——技术不是冷冰冰的分类器,而是「金融为民」的科技屏障。请带着审慎与温度做评估。核心难点(贯穿全程)欺诈交易仅492笔,占比约0.17%——类别极端不平衡,直接训练模型会「偷懒」全判正常。项目10神经网络基础与应用实战·10.3多层感知机进行信用卡欺诈检测相关知识②·风控模型演进与两大挑战从「专家规则」到「机器学习」,再到本任务的MLP+欠采样1早期黑名单+规则依赖专家经验设硬性阈值;更新慢、覆盖窄、易被绕过22010后逻辑回归/随机森林大数据+机器学习显著提升精度;仍难捕捉高维交互3本任务MLP+随机欠采样非线性组合模式+平衡少数类;精度与可审计兼顾即便引入机器学习,欺诈检测仍面临两大挑战挑战①类别极端不平衡欺诈占比通常<0.5%(本数据约0.17%)。直接训练模型会「懒惰」地预测所有交易为正常,整体准确率虚高却毫无用处。挑战②特征高维且耦合原始仅几十维字段,经PCA降维后仍保留30维连续变量;线性模型难以捕捉「金额×时间×地点」的复杂交互。项目10神经网络基础与应用实战·10.3多层感知机进行信用卡欺诈检测相关知识③·认识信用卡欺诈检测数据集欧洲持卡人2013年9月真实脱敏数据·31字段·492笔欺诈284807笔交易492笔欺诈31个字段30维特征2013年9月各字段含义(注意:数据已做PCA脱敏,V1~V28不可还原为原业务含义)字段含义V1~V28经PCA脱敏后的连续变量,代表交易金额、地点、时间、商户等多维特征的组合信号(共28维)。Amount交易金额,反映欺诈成本与收益。Time距首笔交易的时间秒数(建模阶段被剔除,避免时间信息泄露)。Class目标变量:0代表正常交易,1代表欺诈交易。项目10神经网络基础与应用实战·10.3多层感知机进行信用卡欺诈检测相关知识④·类别极端不平衡与欠采样少数类被淹没,是欺诈检测的首要难题——用随机欠采样把少数类「扶起来」原始分布(1∶578)1正常交易284315笔,欺诈仅492笔。模型若「全判正常」也能拿99.83%准确率——却一笔欺诈都拦不住,这是「虚假的高准确率」。RUS欠采样后(1∶1)111000RandomUnderSampler随机删除多数类样本,使欺诈∶正常由1∶578降至1∶1,模型对少数类「看得见、学得会」。⚠训练用1∶1,测试仍用真实分布,确保评估贴近业务!关键点:欠采样只发生在「训练集」——保留原始测试集分布,评估结果才真实可信。注意1∶1的代价是丢弃了大量正常样本信息;也可改用过采样(SMOTE)或在评估时看召回率/PR曲线。项目10神经网络基础与应用实战·10.3多层感知机进行信用卡欺诈检测相关知识⑤·高维特征与MLP两次升级剔除时间泄露+标准化+双隐藏层非线性,逐一破解两大挑战升级1剔除Time列Time与时间戳强相关,若纳入训练会造成信息泄露,模型「作弊」记住顺序而非学规律。建模阶段将其剔除,只对V1~V28、Amount共29列建模。升级2StandardScaler标准化29列特征量纲差异大,标准化消除量纲、加速MLP梯度收敛,避免大数值特征「压垮」小数值特征。升级3MLP双隐藏层+非线性通过(hidden1,hidden2)双隐藏层与非线性激活,自动学习「高金额+低折扣+深夜」等组合欺诈模式,胜过线性模型。三层改造如何对应「破解两大挑战」升级1→解决「数据泄露」隐患;升级2→缓解高维耦合带来的训练不稳;升级3→直面「非线性交互」难题。三者叠加,使MLP在金融欺诈检测中既准又可审计。项目10神经网络基础与应用实战·10.3多层感知机进行信用卡欺诈检测任务实施·三步实操流程每一步都「看结果」:对照运行结果图确认输出,再进入下一步1STEP1读取数据集read_csvshape/value_counts图10-17运行结果图2STEP2数据预处理RandomUnderSampler+拆分+标准化图10-18运行结果图3STEP3建模与调参MLPClassifierfit()/score()图10-19运行结果图流程逻辑:先把「不平衡的原始数据」变成「干净、平衡、可比的数字」(欠采样+剔除泄露+标准化),再合理拆分训练/测试,然后交给MLP自动学权重,最后用得分判断模型好坏。项目10神经网络基础与应用实战·10.3多层感知机进行信用卡欺诈检测步骤1·读取信用卡欺诈检测数据集加载creditcard.csv,查看shape、列名与类别分布关键代码importpandasaspdimportnumpyasnp#从本地或URL加载信用卡欺诈检测数据集data=pd.read_csv('creditcard.csv')print("数据集形状:",data.shape)print("数据集列名:",data.columns.tolist())print("\n类别分布:")print(data['Class'].value_counts())print("欺诈交易占比:{:.4f}%".format(data['Class'].mean()*100))print("\n前5条数据:")print(data.head())图10-17信用卡欺诈检测数据集情况预期输出·数据集形状:(284807,31)——28万+笔、31列·类别分布:0(正常)284315笔;1(欺诈)492笔·欺诈占比≈0.17%(492/284807)·head()显示V1~V28、Amount、Time、Class字段▸读码要点:先确认规模与不平衡程度,再决定后续处理策略项目10神经网络基础与应用实战·10.3多层感知机进行信用卡欺诈检测步骤2·数据预处理(欠采样+拆分+标准化)平衡少数类、防时间泄露、统一量纲,得到可训练数据关键代码fromsklearn.model_selectionimporttrain_test_splitfromsklearn.preprocessingimportStandardScalerfromimblearn.under_samplingimportRandomUnderSamplerX=data.drop('Class',axis=1)y=data['Class']#随机欠采样平衡训练集(1:578->1:1)rus=RandomUnderSampler(random_state=42)X_res,y_res=rus.fit_resample(X,y)#拆分训练/测试(stratify保持比例)X_train,X_test,y_train,y_test=train_test_split(X_res,y_res,test_size=0.2,random_state=42,stratify=y_res)#标准化(剔除Time列,iloc[:,1:])scaler=StandardScaler()X_train_scaled=scaler.fit_transform(X_train.iloc[:,1:])X_test_scaled=scaler.transform(X_test.iloc[:,1:])print("训练集形状:",X_train_scaled.shape)print("测试集形状:",X_test_scaled.shape)图10-18数据预处理后结果预期输出·重采样后类别分布:0与1数量相等(1∶1)·训练集形状:(787,29)——约80%·测试集形状:(197,29)——约20%·29=V1~V28+Amount(已剔除Time)▸random_state=42固定采样与拆分,保证结果可复现项目10神经网络基础与应用实战·10.3多层感知机进行信用卡欺诈检测步骤3·构建并训练多层感知机模型用MLPClassifier搭建基础模型,训练后查看训练/测试准确率关键代码fromsklearn.neural_networkimportMLPClassifier#创建基础多层感知机模型mlp_basic=MLPClassifier(random_state=42,max_iter=1000)mlp_basic.fit(X_train_scaled,y_train)train_score=mlp_basic.score(X_train_scaled,y_train)test_score=mlp_basic.score(X_test_scaled,y_test)print("基础模型训练集准确率:{:.2f}%".format(train_score*100))print("基础模型测试集准确率:{:.2f}%".format(test_score*100))图10-19模型训练效果预期输出·打印基础模型训练集准确率(百分比,2位小数)·打印基础模型测试集准确率·在平衡数据上两项得分都达到较高水平·证明MLP已学到欺诈与正常的区分模式▸MLP通过适当参数调优,在金融欺诈检测中能达到很高的准确率项目10神经网络基础与应用实战·10.3多层感知机进行信用卡欺诈检测结果分析·模型好在哪,又要注意什么三重证据:模型学到了欺诈模式准确率训练集、测试集得分都较高→在平衡数据上泛化良好,未明显过拟合不平衡原始欺诈仅占0.17%→必须欠采样,否则「全判正常」虚高99.83%业务误判代价非对称→漏掉1笔欺诈>>误拦1笔正常,评估看少数类更稳妥的评估与改进方向评估要看「少数类」而非整体准确率·precision/recall/F1(fraud类)——比准确率更说明问题。·PR曲线、AUC-ROC——不平衡数据下的标准度量。·阈值校准——调高风险阈值可减少误拦正常交易。模型升级方向·调参:hidden_layer_sizes、activation、alpha、max_iter。·采样:尝试SMOTE过采样替代欠采样,保留更

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论