速通机器学习 03 | 逻辑回归:信用卡欺诈识别实战
专栏前言上一节我们学习线性回归专门用来预测连续数字回归任务本节学习逻辑回归虽然名字带 “回归”实际是工业风控最常用的二分类算法用来区分两类数据正常交易 / 欺诈盗刷。案例采用银行信用卡交易数据集完整复现风控建模全流程。1. 什么是逻辑回归1.1 核心原理线性回归输出是无边界的实数不能代表概率。逻辑回归在线性公式外套一层 Sigmoid 函数把数值压缩到(0,1)区间输出结果代表 “属于欺诈交易的概率”。线性组合公式Sigmoid 激活函数1.2 分类判定规则默认判断阈值 0.5→ 正类欺诈交易Class1→ 负类正常交易Class0风控场景可手动下调阈值优先拦截可疑盗刷。1.3 模型参数、损失函数与参数优化初始化参数模型刚创建时会自动随机初始化一组权重和截距此时参数是随机值预测结果完全不准。损失函数逻辑回归使用交叉熵损失函数专门用于二分类任务用来衡量预测概率和真实标签之间的差距损失值越大代表模型预测越离谱。二分类交叉熵核心公式其中为真实标签0/1为模型预测的正类概率n 为样本总数。梯度下降优化参数模型训练本质就是循环执行梯度下降不断微调权重参数持续缩小整体损失值直到损失收敛、预测效果稳定这一步由fit()方法自动完成不需要手动计算。1.4 正则参数 C 与正则化作用sklearn 逻辑回归默认开启 L2 正则C是正则强度的倒数完整带正则项的损失公式如下公式解析前半部分为交叉熵损失负责拟合数据后半部分为 L2 正则惩罚项专门约束权重参数C 越小正则惩罚系数越大正则约束越强大幅限制权重参数的大小压缩参数区间减少模型对训练集噪声的记忆缓解过拟合C 越大正则惩罚系数越小正则约束越弱模型放开参数限制更容易贴合训练数据易出现过拟合。本次实战设置C0.01加大正则力度避免模型在不平衡的信用卡数据集上过拟合。超参数 C 的最优取值无法凭经验直接确定后面我们专门系统学习如何自动筛选最优超参数 C。2. 数据集业务介绍数据集文件creditcard.csv模拟银行贷款 / 信用卡风控数据该数据可以在本文开头下载。数据样例字段说明Time交易时间戳和欺诈无明显关联建模直接删除V1~V28脱敏加密特征银行隐私数据 PCA 处理后结果Amount交易金额数值跨度极大必须标准化Class分类标签0 正常交易1 欺诈交易数据集特点样本极度不平衡绝大多数为正常交易。3. 完整建模流程 代码分步讲解整套流程分为 5 步读取数据→标准化预处理→划分特征标签→拆分训练测试集→训练模型并评估逐段拆解代码含义。3.1 第一步导入 pandas读取本地 CSV 数据import pandas as pd # 读取信用卡交易数据集 data pd.read_csv(rD:\pythoncode2\bigdata_ai40\机械学习\data\creditcard.csv) # 打印前5行数据查看数据结构 print(data.head())讲解import pandas as pd导入表格处理工具机器学习读取 csv 必用pd.read_csv()读取本地 csv 文件填写完整文件路径data.head()输出前 5 行快速核对字段、数据是否读取正常。3.2 第二步数据标准化 删除无用特征# 导入标准化工具 from sklearn.preprocessing import StandardScaler # 创建标准化器对象 scaler StandardScaler() 仅对交易金额Amount做Z-Score标准化 data[Amount] scaler.fit_transform(data[[Amount]]) 删除无关时间特征Time data data.drop([Time],axis1)标准化公式讲解StandardScalerZ-Score 标准化工具把数据缩放为均值 0、方差 1只处理 Amount 字段V1-V28 本身已经脱敏标准化无需重复处理fit_transform()一边计算均值方差一边完成数值缩放drop([Time],axis1)删除 Time 整列axis1 代表按列删除。3.3 第三步分离特征 X 与标签 y# 导入数据集划分工具 from sklearn.model_selection import train_test_split 所有特征去掉分类标签Class x_whole data.drop(Class,axis1) 预测标签是否欺诈 y_whole data.Class讲解机器学习固定格式X 是所有输入特征y 是需要预测的结果标签drop(Class,axis1)把标签列从数据表剔除剩余全部作为特征。3.4 第四步拆分训练集、测试集# 70%训练集30%测试集固定随机种子保证结果可复现 x_train_w,x_test_w,y_train_w,y_test_w train_test_split(x_whole,y_whole,test_size 0.3,random_state1000)讲解test_size0.330% 数据作为测试集70% 用于训练random_state1000固定随机划分规则每次运行拆分结果一模一样方便复现实验训练集用来完成参数初始化、梯度下降优化测试集模拟陌生新数据检验模型真实泛化效果。3.5 第五步创建逻辑回归模型、训练、预测评估# 导入逻辑回归算法 from sklearn.linear_model import LogisticRegression # 初始化模型设置正则系数C0.01 lr LogisticRegression(C0.01) # 使用训练集完成模型训练 lr.fit(x_train_w,y_train_w) 在测试集上预测类别0正常/1欺诈 print(lr.predict(x_test_w)) 输出训练集整体准确率 print(lr.score(x_train_w,y_train_w)) 计算测试集准确率 test_score lr.score(x_test_w,y_test_w) print(test_score)讲解LogisticRegression(C0.01)实例化逻辑回归内部自动完成参数初始化同时通过 C 控制正则化强度.fit(x_train_w,y_train_w)训练核心代码执行梯度下降算法持续优化权重参数最小化交叉熵损失.predict()输入特征输出每条样本预测类别.score()自动计算准确率 预测正确样本数 / 总样本数。重要提醒本数据集正负样本失衡单纯准确率无法客观评价欺诈识别能力后续章节会讲解混淆矩阵、召回率等专业指标。4. 逻辑回归优缺点优点训练速度快适配银行海量交易流水模型可解释每个特征有权重是风控行业标准算法支持正则化能通过 C 灵活控制拟合程度输出概率分值业务可自定义风险阈值。缺点只能学习线性关系复杂非线性数据拟合差对特征尺度敏感金额类特征必须提前标准化原生仅支持二分类多分类任务需要改造。5. 本章小结逻辑回归是二分类模型Sigmoid 函数将线性计算转为 0~1 概率模型流程随机初始化参数→交叉熵损失衡量误差→梯度下降优化参数L2 正则通过超参数 C 控制强弱抑制过拟合下一节讲解最优 C 的筛选方法银行风控建模标准流程读取数据→标准化清洗→拆分数据集→模型训练评估特征标准化是逻辑回归必要步骤解决量纲差距带来的收敛问题不平衡分类场景不能只依靠准确率评估模型效果。

相关新闻

SFUD通用SPI Flash驱动移植与实战:基于STM32潘多拉开发板

SFUD通用SPI Flash驱动移植与实战:基于STM32潘多拉开发板

1. 项目缘起:为什么要在潘多拉上折腾SFUD? 如果你手头有一块正点原子的潘多拉开发板(基于STM32L4),并且项目里需要存储一些配置参数、日志数据,或者想扩展一个文件系统,那么板上那颗型号为W25Q1…

2026/10/11 23:42:12 阅读更多 →
瑞萨RA6M3开发实战:从环境搭建到外设驱动与RTOS应用

瑞萨RA6M3开发实战:从环境搭建到外设驱动与RTOS应用

1. 项目概述:为什么是RA6M3? 如果你正在寻找一款性能足够、外设丰富、生态成熟且性价比突出的Arm Cortex-M33内核MCU,瑞萨电子的RA6M3绝对是一个绕不开的选项。我手头好几个工业控制和小型网关项目都用了它,从原型验证到批量生产&…

2026/10/11 23:42:12 阅读更多 →
嵌入式固件尺寸优化实战:从编译器优化到代码瘦身

嵌入式固件尺寸优化实战:从编译器优化到代码瘦身

1. 从“臃肿”到“精干”:嵌入式固件尺寸优化的实战心法 最近在调试一个基于STM32F103的项目,编译出来的固件大小离芯片的Flash上限只差几十KB。产品经理提了个新需求,要加个小功能,我一看代码,心里咯噔一下——这点空…

2026/10/7 11:55:58 阅读更多 →

最新新闻

黑科技下载器源码实战:多线程分块、断点续传与资源嗅探全解析

黑科技下载器源码实战:多线程分块、断点续传与资源嗅探全解析

简介:黑科下载器是一款面向普通用户的多端下载工具资源包,针对迅雷限速、百度云非会员龟速等常见痛点,提供网页版、PC端、安卓与iOS四种使用形态,适合希望摆脱会员限制、提升日常下载效率的用户参考使用。压缩包共267个文件&#…

2026/10/11 23:41:48 阅读更多 →
窗口函数 SUM() OVER() 详解:PARTITION BY 与 ORDER BY 的累计计算逻辑

窗口函数 SUM() OVER() 详解:PARTITION BY 与 ORDER BY 的累计计算逻辑

很多人学了窗口函数,一看到SUM() OVER(PARTITION BY ... ORDER BY ...)这种写法还是会懵,特别是ORDER BY加上之后,结果怎么就从“分组总和”变成“累加值”了?这篇文章继续走实战路线,我会把SUM() OVER()从基础语法到进…

2026/10/11 23:40:47 阅读更多 →
数据库课程设计:电力收费系统表结构、触发器与存储过程全解析

数据库课程设计:电力收费系统表结构、触发器与存储过程全解析

简介:《数据库课程设计电力公司收费系统.doc》是一份完整的数据库课程设计报告,面向高校计算机、软件工程等专业学生,适用于电力公司收费管理信息系统设计课题。文档围绕客户、用电类型、员工、用电信息、费用管理、收费登记六大核心数据表展…

2026/10/11 23:40:47 阅读更多 →
JMeter+InfluxDB+Grafana:搭建性能测试实时监控看板

JMeter+InfluxDB+Grafana:搭建性能测试实时监控看板

做性能测试的人基本都经历过这样的场景:JMeter压着压着,突然想知道当前的TPS到底有没有掉链子,响应时间的曲线是不是已经拐头向上,可日志刷得太快根本看不出来。一开始我也用JMeter自带的监听器,结果压测刚跑几分钟&am…

2026/10/11 23:40:47 阅读更多 →
内网安全评估:揭秘ACL权限滥用与横向移动链路

内网安全评估:揭秘ACL权限滥用与横向移动链路

内网安全评估做到第三周的时候,我在一份共享文件夹的ACL导出清单里看到了一个非常扎眼的组名:SHARE MODERATORS。这个组在域里并不显眼,不在本地管理员组,也不在任何域管理组里,可它的权限范围却覆盖了全公司的核心共享…

2026/10/11 23:40:47 阅读更多 →
同城家政服务平台搭建,多商户派单方案详解

同城家政服务平台搭建,多商户派单方案详解

同城家政服务平台搭建:多商户入驻与智能派单方案详解同城家政行业早已从单一门店自营模式,转向多商户平台化联营发展。平台整合全城多家家政公司、个体服务商、持证服务师傅,统一承接用户订单,通过智能调度完成订单分发与履约。相…

2026/10/11 23:39:46 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →