当前位置: 首页 > article >正文

为何说逻辑回归是分类任务的“最佳基石”?

提到“回归”你可能先想到房价预测。但有一个名字里带“回归”、实际却用来做分类的算法在机器学习界地位极高——逻辑回归Logistic Regression。医学诊断、金融风控、垃圾邮件识别……到处都有它的身影。原因很简单简单、高效、能输出概率、可解释性强。本文带你从零开始彻底搞懂逻辑回归并用两个真实案例心脏病预测 手写数字识别亲手跑通代码。1. 名字是个误会从“回归”到“分类”逻辑回归本质上还是从线性回归“变”过来的。线性回归的局限输出范围整个实数轴-∞ 到 ∞分类任务需要的是概率0 到 1解决方案Sigmoid 函数也叫 Logistic 函数公式很简单f(x)11e−xf(x)1e−x1​特性输出恒在 (0, 1) 之间输入为 0 时输出恰好 0.5形状像 S 形曲线把线性回归的结果扔进 Sigmoid就得到了一个概率值。逻辑回归的完整公式P(y1∣x)11e−(β0β1x1⋯βnxn)P(y1∣x)1e−(β0​β1​x1​⋯βn​xn​)1​决策规则概率 0.5 → 预测为类别 1概率 ≤ 0.5 → 预测为类别 0注意0.5 这个阈值可以按业务需求调整。比如疾病筛查宁可误报可降低阈值质量检测则可能调高阈值。2. 如何训练模型最大似然估计模型的核心是找到一组参数 $\beta$让训练数据出现的概率最大。单个样本的概率表达P(y∣x;β)y^y⋅(1−y^)1−yP(y∣x;β)y^​y⋅(1−y^​)1−y若 $y1$值为 $\hat{y}$若 $y0$值为 $1-\hat{y}$所有样本的似然函数L(β)∏i1ny^iyi(1−y^i)1−yiL(β)∏i1n​y^​iyi​​(1−y^​i​)1−yi​取对数连乘变连加log⁡L(β)∑i1n[yilog⁡y^i(1−yi)log⁡(1−y^i)]logL(β)∑i1n​[yi​logy^​i​(1−yi​)log(1−y^​i​)]损失函数二元交叉熵Loss−1nlog⁡L(β)Loss−n1​logL(β)最大化似然 ⇔ 最小化交叉熵损失。重要性质逻辑回归的损失函数是凸函数→ 有唯一的全局最优解不会陷入局部最小值。但注意没有闭式解不像线性回归一步算出必须用梯度下降或牛顿法迭代求解。3. 梯度下降与正则化损失函数的梯度最终简化形式∇Loss−1nXT(p−y)∇Loss−n1​XT(p−y)其中 $p$ 是预测概率$y$ 是真实标签。梯度大小 预测与真实之间的误差。误差越大参数更新越快。常用优化求解器solversolver特点lbfgs拟牛顿法默认选项支持 L2 正则化liblinear适合小数据集支持 L1 / L2saga适合大数据支持 L1、L2、ElasticNet注意penalty和solver必须兼容否则报错。正则化防止过拟合在损失函数中加入参数惩罚项让模型参数尽量小。类型效果适用场景L1 正则化部分系数变为 0 → 自动特征选择特征很多想筛选重要特征L2 正则化系数整体缩小但不为 0大多数情况的默认选择ElasticNet结合 L1 和 L2需要同时控制稀疏性和整体收缩关键参数是 CC 越小正则化越强。例如C0.01比C1.0正则化力度大得多。4. 实战一心脏病预测二分类数据集来自 Kaggle包含 14 个临床特征标签为“是否患有心脏病”。4.1 加载数据 划分训练集数据集下载https://pan.baidu.com/s/10F-DZPstvBw7Cmg5AvaUUA?pwd9pjpimport pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler, OneHotEncoder from sklearn.compose import ColumnTransformer from sklearn.linear_model import LogisticRegression heart_disease pd.read_csv(data/heart_disease.csv) heart_disease heart_disease.dropna() X heart_disease.drop(是否患有心脏病, axis1) y heart_disease[是否患有心脏病] x_train, x_test, y_train, y_test train_test_split(X, y, test_size0.3, random_state100)4.2 特征工程数值型、类别型、二元型分开处理numerical_features [年龄, 静息血压, 胆固醇, 最大心率, 运动后的 ST 下降, 主血管数量] categorical_features [胸痛类型, 静息心电图结果, 峰值 ST 段的斜率, 地中海贫血] binary_features [性别, 空腹血糖, 运动性心绞痛] preprocessor ColumnTransformer([ (num, StandardScaler(), numerical_features), (cat, OneHotEncoder(dropfirst), categorical_features), (binary, passthrough, binary_features), ]) x_train preprocessor.fit_transform(x_train) x_test preprocessor.transform(x_test)对类别特征使用dropfirst是为了避免多重共线性让矩阵满秩参数可唯一确定。4.3 训练与评估model LogisticRegression() model.fit(x_train, y_train) acc model.score(x_test, y_test) print(f测试集准确率: {acc:.4f})训练后可通过model.coef_查看每个特征的重要性。5. 多分类任务从二分类到多分类逻辑回归天生做二分类但可以扩展到多分类。主要有两种方法。5.1 一对多One-vs-Rest, OvR对每个类别训练一个二分类器本类 vs 其余预测时取概率最高的类别类别数量多时训练慢5.2 Softmax 回归多项逻辑回归只训练一个模型使用 Softmax 函数输出所有类别的概率概率之和为 1分类一致性更好Softmax 公式P(yc∣x)eβcTx∑j1CeβjTxP(yc∣x)∑j1C​eβjT​xeβcT​x​scikit-learn 切换方式# 一对多 model LogisticRegression(multi_classovr) # Softmax model LogisticRegression(multi_classmultinomial)对于多分类LogisticRegression 默认自动使用multinomial如果求解器支持。6. 实战二手写数字识别多分类MNIST 手写数字0-9每张图 28×28 像素共 784 个特征。6.1 加载并查看一张图片数据集下载https://pan.baidu.com/s/1xg4UnBRx2h0ysmhmAttn8g?pwd6tzwimport pandas as pd import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.preprocessing import MinMaxScaler from sklearn.linear_model import LogisticRegression digit pd.read_csv(data/train.csv) plt.imshow(digit.iloc[10, 1:].values.reshape(28, 28), cmapgray) plt.show()6.2 归一化 训练X digit.drop(label, axis1) y digit[label] x_train, x_test, y_train, y_test train_test_split(X, y, test_size0.3, random_state100) scaler MinMaxScaler() x_train scaler.fit_transform(x_train) x_test scaler.transform(x_test) model LogisticRegression(max_iter500) # 增加迭代次数确保收敛 model.fit(x_train, y_train) print(f测试集准确率: {model.score(x_test, y_test):.4f})6.3 预测单张图片plt.imshow(digit.iloc[123, 1:].values.reshape(28, 28), cmapgray) plt.show() print(model.predict(digit.iloc[123, 1:].values.reshape(1, -1)))特征维度高达 784默认max_iter100可能不够需要调大。7. 总结逻辑回归为什么能成为分类任务的“基石”优点解释输出概率可解释性强适合需要置信度的场景线性决策边界简单、不易过拟合损失函数是凸函数有全局最优解训练稳定正则化支持良好L1 / L2 / ElasticNet有效防止过拟合多分类扩展OvR 或 Softmax灵活应对不同规模的问题训练速度快特征重要性可解释系数直接反映特征影响方向与大小但也要知道它的局限只能学习线性决策边界无法直接处理非线性问题可结合特征多项式或核技巧对特征尺度敏感必须做标准化 / 归一化类别严重不平衡时需调整class_weight参数即便如此逻辑回归依然是数据科学入门的第一选择也是许多工业级系统的基线模型。希望这两个完整案例能帮你真正掌握逻辑回归。

相关文章:

为何说逻辑回归是分类任务的“最佳基石”?

提到“回归”,你可能先想到房价预测。但有一个名字里带“回归”、实际却用来做分类的算法,在机器学习界地位极高——逻辑回归(Logistic Regression)。 医学诊断、金融风控、垃圾邮件识别……到处都有它的身影。 原因很简单&#…...

智能网页数据获取:Crawl4AI v1.0.0全攻略

智能网页数据获取:Crawl4AI v1.0.0全攻略 【免费下载链接】crawl4ai 🚀🤖 Crawl4AI: Open-source LLM Friendly Web Crawler & Scraper. Dont be shy, join here: https://discord.gg/jP8KfhDhyN 项目地址: https://gitcode.com/GitHub…...

OpCore-Simplify:黑苹果配置自动化的架构设计与技术实现

OpCore-Simplify:黑苹果配置自动化的架构设计与技术实现 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 传统黑苹果配置面临硬件兼容性判断…...

Ultimaker Cura:3D打印切片软件的5个核心功能深度解析与实战指南

Ultimaker Cura:3D打印切片软件的5个核心功能深度解析与实战指南 【免费下载链接】Cura 3D printer / slicing GUI built on top of the Uranium framework 项目地址: https://gitcode.com/gh_mirrors/cu/Cura Ultimaker Cura作为全球最受欢迎的开源3D打印切…...

暗黑破坏神2存档修改与角色调整工具:安全高效的d2s文件编辑解决方案

暗黑破坏神2存档修改与角色调整工具:安全高效的d2s文件编辑解决方案 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 在《暗黑破坏神2》的冒险旅程中,每个玩家都可能遇到存档损坏、属性点分配错误或稀有装…...

如何选择合理的SEO关键词推广价格_SEO关键词推广一般多少钱

如何选择合理的SEO关键词推广价格_SEO关键词推广一般多少钱 在当今数字化时代,网站的流量和曝光率直接关系到企业的业务发展。而在这个过程中,搜索引擎优化(SEO)扮演着至关重要的角色。其中,选择合理的SEO关键词推广价…...

ESP32S3实战:构建你的WiFi安全防护盾

1. ESP32S3:你的口袋网络安全实验室 第一次拿到ESP32S3开发板时,我完全没想到这个比硬币大不了多少的芯片能成为网络安全利器。直到有次家里的智能门锁突然离线,排查后发现是邻居小孩在用树莓派玩WiFi干扰实验——这让我意识到,与…...

微服务日志追踪实战:traceId在分布式系统中的高效应用

1. 为什么我们需要traceId? 想象一下你正在管理一个大型购物中心,每天有成千上万的顾客进出。突然有个顾客投诉说在某个店铺遇到了问题,但你手头只有整个商场所有店铺的监控录像,没有顾客的行动轨迹记录。这时候要找到问题发生的具…...

AI辅助开发:让快马AI生成能自适应Instagram页面改版的下载脚本

最近在做一个Instagram媒体下载工具时,遇到了一个很头疼的问题:每次Instagram更新页面结构,我的脚本就会失效。后来尝试用InsCode(快马)平台的AI辅助功能,发现可以很好地解决这个问题。今天就来分享一下如何利用AI生成一个能自适应…...

AI赋能开发:让快马平台智能优化与扩展你的openclaw101.dev工具库

AI赋能开发:让快马平台智能优化与扩展你的openclaw101.dev工具库 最近在维护openclaw101.dev项目时,我发现工具函数库需要一次全面的优化升级。传统手动修改不仅耗时,还容易遗漏潜在优化点。这次尝试用InsCode(快马)平台的AI辅助开发功能&am…...

如何随时随地运行任何操作系统?Portable-VirtualBox终极便携虚拟化指南

如何随时随地运行任何操作系统?Portable-VirtualBox终极便携虚拟化指南 【免费下载链接】Portable-VirtualBox Portable-VirtualBox is a free and open source software tool that lets you run any operating system from a usb stick without separate installat…...

Wan2.2-I2V-A14B开源大模型:支持ONNX Runtime跨平台视频生成

Wan2.2-I2V-A14B开源大模型:支持ONNX Runtime跨平台视频生成 1. 模型概述与核心能力 Wan2.2-I2V-A14B是一款开源的文生视频大模型,基于ONNX Runtime实现跨平台部署能力。该模型能够将文本描述直接转化为高质量视频内容,支持多种分辨率和时长…...

手把手教你用昇腾910B部署Qwen3-Reranker-8B,并接入Dify/RAGFlow(附完整代码)

昇腾910B实战:Qwen3-Reranker-8B国产化部署与RAGFlow/Dify集成指南 在国产化AI基础设施加速落地的背景下,华为昇腾NPU正成为替代传统GPU的重要选择。本文将完整演示如何在昇腾910B上部署Qwen3-Reranker-8B重排序模型,并将其无缝集成到Dify和R…...

告别复杂配置!Youtu-VL-4B-Instruct开箱即用,快速搭建视觉语言AI助手

告别复杂配置!Youtu-VL-4B-Instruct开箱即用,快速搭建视觉语言AI助手 1. 为什么选择Youtu-VL-4B-Instruct 在当今多模态AI快速发展的时代,视觉语言模型(VLM)正成为企业智能化转型的重要工具。然而,大多数VLM模型要么需要复杂的部…...

哔哩下载姬downkyi:一站式B站视频解析与处理解决方案

哔哩下载姬downkyi:一站式B站视频解析与处理解决方案 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&#x…...

NPS内网穿透实战:如何为本地站点快速配置HTTPS(含防火墙设置)

NPS内网穿透实战:如何为本地站点快速配置HTTPS(含防火墙设置) 在数字化转型浪潮中,远程访问内网资源的需求日益增长。想象一下这样的场景:你正在开发一个本地Web应用,需要让异地同事实时测试;或…...

ubuntu新手福音:无需配置环境,在快马平台轻松上手openclaw机器人抓取

作为一名刚接触Ubuntu和机器人开发的新手,最近在尝试学习OpenClaw机械臂控制时遇到了不少麻烦。本地环境配置的各种依赖和权限问题让人头疼,直到发现了InsCode(快马)平台,终于找到了零配置的解决方案。这里记录下我的学习过程,希望…...

Pi0 VLA模型快速上手:三视角图像上传+中文指令生成6自由度动作

Pi0 VLA模型快速上手:三视角图像上传中文指令生成6自由度动作 想象一下,你面前有一个机器人,你只需要给它看三张不同角度的照片,然后用中文告诉它“把那个红色的方块拿过来”,它就能自己计算出每个关节该怎么动&#…...

如何用Jasminum插件实现中文文献管理效率翻倍?

如何用Jasminum插件实现中文文献管理效率翻倍? 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 还在为中文文献管理而头…...

SEO_2024年SEO最新趋势与核心策略介绍

2024年SEO最新趋势与核心策略介绍 在数字化时代,搜索引擎优化(SEO)已经成为任何企业在网络上站稳脚跟的关键。2024年,随着互联网技术的不断进步和用户行为的变化,SEO也在不断演变。了解2024年的SEO最新趋势与核心策略…...

15. Doris 系列第15篇:Unique Key 深度精讲|Merge-on-Write(MOW)原理、读写流程、Compaction适配与生产调优全指南

适用人群:数仓开发、Doris运维、实时画像/订单状态更新业务落地、2.0版本升级改造 核心价值:纯干货落地版,含底层结构、全流程拆解、多场景优化、监控告警、常见坑解决方案,直接照搬上线一、Merge-on-Write(MOW)核心概念&#xff…...

百考通:AI全维度覆盖数据分析,让数据价值全流程智能化

在数字化浪潮席卷各行各业的今天,数据已成为核心生产要素,但如何从海量数据中挖掘价值、辅助决策,始终是企业与个人面临的核心难题。传统数据分析流程繁琐、技术门槛高、周期漫长,让许多非专业人士望而却步。百考通(ht…...

如何一键完整导出QQ空间历史说说:GetQzonehistory操作指南

如何一键完整导出QQ空间历史说说:GetQzonehistory操作指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想完整保存那些年在QQ空间留下的青春记忆?Get…...

快速原型设计:基于快马平台构建openclaw专业卸载工具的全流程交互demo

今天想和大家分享一个特别实用的开发经验——如何用InsCode(快马)平台快速搭建专业软件卸载工具的原型。最近正好在研究openclaw这款专业软件的卸载流程,发现市面上很多卸载工具都太简单粗暴,于是决定自己动手做个更完善的方案。 原型设计思路 专业软件的…...

PlugY插件:暗黑破坏神2单机模式的终极增强指南

PlugY插件:暗黑破坏神2单机模式的终极增强指南 【免费下载链接】PlugY PlugY, The Survival Kit - Plug-in for Diablo II Lord of Destruction 项目地址: https://gitcode.com/gh_mirrors/pl/PlugY 还在为暗黑破坏神2单机模式的种种限制而烦恼吗&#xff1f…...

BilibiliDown:高效下载B站视频的3步实战指南

BilibiliDown:高效下载B站视频的3步实战指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibil…...

从Brier Score到Reliability Curve:深度解析概率模型校准的四大核心指标

1. 概率模型校准:为什么我们需要关注预测概率的"诚实度"? 在金融风控、医疗诊断这些关键领域,我们不仅需要模型给出"是或否"的判断,更希望知道这个判断的把握有多大。想象一下,银行拒绝贷款申请时…...

告别下载!File Browser全格式在线预览:PDF/Office文件一键查看指南

告别下载!File Browser全格式在线预览:PDF/Office文件一键查看指南 【免费下载链接】filebrowser 📂 Web File Browser 项目地址: https://gitcode.com/gh_mirrors/fi/filebrowser 还在为查看服务器上的文档反复下载而烦恼吗&#xff…...

untrunc:修复损坏视频文件的多媒体恢复解决方案

untrunc:修复损坏视频文件的多媒体恢复解决方案 【免费下载链接】untrunc Restore a truncated mp4/mov. Improved version of ponchio/untrunc 项目地址: https://gitcode.com/gh_mirrors/un/untrunc 诊断视频故障类型 视频文件损坏往往表现为多种异常现象…...

新能源车全场景测试体系:从NVH性能到环境适应性等106项关键规范

新能源车试验规范,整车NVH性能主观评价规范,电动汽车寒区适应 性试验 ,电动汽车热区适应性试验,电动乘用车空调系统抗结霜性能试验规范,车载充电机测试规范,整车空调系统结霜性能试验方法,DCDC变…...