数据挖掘大题知识点
朴素贝叶斯分类预测 朴素贝叶斯分类预测 —— 通用计算流程4步法Step 1计算先验概率 P(Y)统计训练集中每个类别 Y 出现的频率Step 2计算条件概率 P(A∣Y) 和 P(B∣Y)在给定类别 Y的条件下统计属性取特定值的比例关键假设朴素贝叶斯要求属性相互独立所以我们将 P(A∣Y)和 P(B∣Y) 直接相乘。Step 3计算后验概率核心公式忽略归一化常数证据因子 P(X)计算类别 Y 的“得分”对于不同类别分母 P(A2,BS)是一样的所以直接比较分子即可Step 4做出预测比较各类别的得分取得分最大的类别作为预测结果。 手算演示含示例数据集为了给你演示具体计算我构建了一个满足题目要求的小型训练集共 10 个样本序号A取值1/2/3B取值S/M/LY类别11S正类P22M正类P32S正类P43L正类P51S负类N61S负类N72S负类N83M负类N93L负类N101L负类N待预测样本X(A2,BS)① 计算先验概率 P(Y)② 计算条件概率基于类别分组注意如果题目要求输出具体的“后验概率值”需要将上述得分除以证据因子 P(A2,BS)。但在分类决策中由于分母相同通常只比较分子大小即可。⚠️ 考试/面试必看两个核心陷阱与特殊处理逻辑斯蒂回归1. 预测方程的标准形式背下来逻辑斯蒂回归的预测分两步走第一步计算线性得分跟线性回归一样这里 z 可以是负无穷到正无穷的任意实数。第二步套上 Sigmoid 函数把 z 压缩成概率通俗理解模型先给样本“打分”z分数越高越可能是正类然后用一个 S 形的函数Sigmoid把这个分数换算成“百分比概率”。2. 从方程看“预测规则”如何得出类别拿到概率后我们通常以0.5为分界线阈值来决定类别由于 Sigmoid 函数是单调递增的这个判断规则等价于这里的就是逻辑回归的决策边界Decision Boundary。在二维平面上它是一条直线在三维空间里是一个平面。关联规则支持度、置信度1. 核心定义与公式必背假设我们有一条关联规则X → Y表示“购买了 X 的人也会购买 Y”总事务数为N支持度Support衡量规则覆盖多少数据频次。公式其中 σ(X∪Y) 是同时包含 X 和 Y的事务个数。含义所有订单中同时买 X 和 Y 的比例。如果支持度太低说明这条规则只是“偶然事件”没有统计意义。置信度Confidence衡量规则预测有多准条件概率。公式含义在已经买了 X的订单中同时买了 Y的比例。即 P(Y∣X)。重要区分σ西格玛指的是“支持度计数”绝对次数而支持度是“概率”相对比例。考试时千万看清题目问的是“计数”还是“百分比”2. 手算示例经典购物篮假设超市有 5 笔交易数据现在要计算规则{牛奶} → {面包}的支持度和置信度。事务ID购买的商品T1牛奶, 面包, 鸡蛋T2牛奶, 啤酒T3面包, 鸡蛋, 可乐T4牛奶, 面包, 啤酒T5牛奶, 面包计算步骤确定总事务数NN 5计算支持度计数同时包含“牛奶”和“面包”的事务有T1, T4, T5 → 共3笔。所以 σ(牛奶∪面包)3计算前提左侧 X的计数包含“牛奶”的事务有T1, T2, T4, T5 → 共4笔。套用公式支持度 3/50.6即 60%置信度 3/40.75即 75%解读所有订单中有 60% 同时买了牛奶和面包在买了牛奶的顾客中有 75% 的人会买面包。基尼系数Gini Index、熵Entropy和信息增益/基尼增益Gain1. 三大不纯度度量衡量节点“有多乱”在分裂之前决策树必须用数字来衡量当前节点数据集的混乱程度。常用的有三个指标但前两个是绝对主力1基尼系数Gini Index—— CART算法默认sklearn默认公式通俗理解从当前节点随机抽两个样本它们属于不同类别的概率。取值范围二分类中 [0, 0.5]。Gini 0完全纯净全是同一类。Gini 0.5最混乱两类各占 50%。特点计算速度极快只有乘法和减法没有对数运算。2熵Entropy / 信息增益Information Gain—— ID3/C4.5算法公式通俗理解衡量数据的“不确定性”。越难猜熵越大。取值范围二分类中 [0, 1]。Entropy 0完全纯净。Entropy 1最混乱两类各占 50%。特点对不纯度的变化比基尼系数更敏感曲线更陡但计算稍慢涉及 log 运算。3分类误差Classification Error—— 仅用于剪枝不用于分裂公式为什么不常用它对不纯度变化不敏感。比如节点 (4正, 1负) 和 (4正, 2负)误差都是 0.2无法区分谁更纯所以从不作为分裂准则。序数型知道“谁大谁小”但不知道“大了多少”连续型不仅知道“谁大谁小”还知道“具体大了多少”。2. 增益Gain—— 连接“度量”与“划分”的桥梁有了度量指标怎么决定用哪个特征来分裂答案是计算增益Gain。核心公式这里的 I 可以是基尼系数也可以是熵通俗理解增益 分裂前的混乱程度 - 分裂后子节点的加权平均混乱程度。这个差值越大说明这个特征让数据变得越“纯净”。决策树的分裂规则贪心算法遍历所有特征。对每个特征尝试所有可能的分割点。计算每个分割点的“增益”。选择“增益最大”的特征和分割点进行分裂。命名细节如果你用基尼系数计算这个差值就叫做“基尼增益”如果你用熵计算就叫做“信息增益”。虽然名字不同但背后的逻辑完全一样——都是找降低不纯度最多的那个切法。3. 决策树划分的完整逻辑三步走在算法层面节点分裂是这样一步步执行的Step 1计算父节点不纯度比如当前节点有 10 个样本6正4负算出基尼或熵。Step 2尝试划分并计算子节点不纯度如果是标称属性如性别按类别分叉男/女计算每个子节点的加权不纯度。如果是连续属性如年龄先将数据排序尝试所有相邻值的中点作为阈值如年龄 25和年龄 ≥ 25找到加权不纯度最小的那个切点。Step 3计算增益并选择算出所有特征及其切点的增益值谁大选谁。把数据切成两半或几半然后对子节点递归执行 Step 1~3直到触发停止条件。4. 手算对比基尼 vs 熵一眼看透假设父节点有 10 个样本6 个“是”4 个“否”。假设用某个特征分裂后两个子节点分别为 (3正, 0负) 和 (3正, 4负)可以看到无论用基尼还是熵增益值最高的那个特征一定是同一个特征。所以在工程中两者最终选出来的分裂点几乎一模一样。ROC 曲线 AUC 计算 第一步数据准备与排序根据题目正类为负类为-。总正例数P实例 1, 2, 5, 6 → P4总负例数N实例 3, 4, 7, 8 → N4将数据按照后验概率 P(∣X,M1)从高到低排序并整理如下这是计算 ROC 最关键的起始步骤排序后序号原实例真实标签预测概率累计 TP累计 FPTPR (TP/4)FPR (FP/4)ROC 坐标点起点---0000(0, 0)13-0.780100.25(0.25, 0)210.62110.250.25(0.25, 0.25)350.48210.500.25(0.25, 0.50)47-0.38220.500.50(0.50, 0.50)54-0.31230.500.75(0.75, 0.50)660.12330.750.75(0.75, 0.75)78-0.05340.751.00(1.00, 0.75)820.04441.001.00(1.00, 1.00)计算逻辑详解以排序后第 5 步为例当阈值降到 0.31 时预测为正类的样本是排在前 5 个的原实例 3, 1, 5, 7, 4。其中真实为正类的有 2 个实例 1, 5所以累计 TP2真实为负类-的有 3 个实例 3, 7, 4所以累计 FP3。因此 TPR2/40.50FPR3/40.75。 第二步绘制 ROC 曲线手画指引你可以在答题纸上按以下坐标点连线绘图横轴XFPR纵轴YTPR关键转折点(0,0) → (0.25, 0) → (0.25, 0.25) → (0.25, 0.5) → (0.5, 0.5) → (0.75, 0.5) → (0.75, 0.75) → (1.0, 0.75) → (1.0, 1.0)如果老师要求平滑曲线用折线连接上述各点即可二分类模型的 ROC 通常就是这种阶梯状折线。 第三步使用梯形法则计算 AUCAUC 是 ROC 曲线下的面积只计算横轴FPR发生变化的水平移动段。公式为结合上表我们逐段计算只取 ΔFPR0 的区间区间FPR 变化ΔFPRΔFPR底边宽平均 TPR 高度本段面积0 → 0.250.250020200​00.25 × 0 00.25 → 0.500.250.500.5020.5020.500.50​0.500.25 × 0.50 0.1250.50 → 0.750.250.500.5020.5020.500.50​0.500.25 × 0.50 0.1250.75 → 1.000.250.750.7520.7520.750.75​0.750.25 × 0.75 0.1875最终 AUC 值AUC00.1250.1250.18750.4375结论模型 M1 的 AUC 0.4375。意义AUC 0.5说明该分类模型 M1 的预测效果“差于随机猜测”随机猜测为 0.5。回归决策树 原始数据序号xy150.2270.43100.54150.6目标构建一个深度为 1 的回归树桩即只分裂一次找到最优的切分点。第一步确定所有候选切分点阈值回归树只会在相邻两个 x 值的中间点进行切分。第二步计算每个切分点下的总平方误差SSE第三步选出最优切分点损失最小。第四步构建回归树并预测新样本

相关新闻

线上Java服务凌晨3点告警,我靠这张排查流程图5分钟解决了故障

线上Java服务凌晨3点告警,我靠这张排查流程图5分钟解决了故障

前言:所有线上故障,都是提前预埋的雷 做Java后端开发的同学,大概率都经历过凌晨线上告警轰炸的绝望:手机钉钉、短信、电话轮番震动,睡眼惺忪打开监控面板,映入眼帘的是一片红通通的告警色块、飙升的CPU、堆…

2026/6/24 12:35:24阅读更多 →
2026-06-23:合并靠近字符。用go语言,现有仅含小写字母的字符串s与整数k,规则说明如下: 1. 判定标准:同一字符串里,若两个相同字母的位置索引差值不超过k,这两个字符视作相邻靠近字符。 2

2026-06-23:合并靠近字符。用go语言,现有仅含小写字母的字符串s与整数k,规则说明如下: 1. 判定标准:同一字符串里,若两个相同字母的位置索引差值不超过k,这两个字符视作相邻靠近字符。 2

2026-06-23:合并靠近字符。用go语言,现有仅含小写字母的字符串s与整数k,规则说明如下:判定标准:同一字符串里,若两个相同字母的位置索引差值不超过k,这两个字符视作相邻靠近字符。合并规则&…

2026/6/24 12:35:24阅读更多 →
工作3年才敢说真话:90%的Java微服务项目,根本没必要用SpringCloud

工作3年才敢说真话:90%的Java微服务项目,根本没必要用SpringCloud

前言:被过度神化的SpringCloud微服务 从事Java后端开发3年,参与过6个从0到1的企业级项目迭代,见过无数团队的技术选型闹剧:不管项目体量、不管业务复杂度、不管团队规模、不管流量高低,新项目一律无脑上SpringCloud微服务。 在校招培训、技术博主、企业八股文的集体渲染…

2026/6/24 12:35:24阅读更多 →
Mac终端调用Claude等大模型:OpenClaw安装与排障实战指南

Mac终端调用Claude等大模型:OpenClaw安装与排障实战指南

1. 先说清楚:OpenClaw 不是官方产品,也不是 Claude 的 macOS 客户端 “mac安装openclaw”这个搜索词背后,藏着一个非常典型的认知偏差——很多人把它当成和 Claude Code 、 Codex 或某个“Mac版Claude桌面应用”一样,是 Anthr…

2026/6/24 19:18:28阅读更多 →
janus-pro本地大模型推理服务部署实战

janus-pro本地大模型推理服务部署实战

1. 项目概述:这不是“装个软件”,而是一次完整的本地大模型运行环境重建“如何在本地部署自己的大模型(四)”——这个标题里藏着三个关键信号:第一,“本地”意味着完全脱离云端依赖,所有计算、推…

2026/6/24 19:18:28阅读更多 →
基于MATLAB构建交互式数字天象馆:从坐标转换到3D可视化

基于MATLAB构建交互式数字天象馆:从坐标转换到3D可视化

1. 项目概述:从零构建一个交互式MATLAB数字天象馆“天上那是什么?” 这个问题几乎每个人都问过。无论是夜空中一颗特别亮的星,还是一道快速划过的轨迹,那份对宇宙的好奇心是共通的。作为一名长期与数据和算法打交道的工程师&#…

2026/6/24 19:18:28阅读更多 →
OpenClaw China钉钉告警插件原理与国产化落地实践

OpenClaw China钉钉告警插件原理与国产化落地实践

1. OpenClaw插件“dingding”不是钉钉客户端,而是国产化环境下的告警通道适配器你搜“OpenClaw dingding”,点开前十个结果,八成会误以为这是个能替代钉钉App的开源客户端——我第一次看到这个标题时也这么想。结果装完发现根本打不开聊天界面…

2026/6/24 19:18:28阅读更多 →
Python流场可视化:streamplot与streamlice函数深度解析与应用

Python流场可视化:streamplot与streamlice函数深度解析与应用

1. 从数据到洞察:流场可视化的核心价值 在流体力学、气象学、电磁场分析乃至金融数据流模拟等众多领域,我们常常面对的不是一个简单的标量值,而是一个充满方向与速度的矢量场。想象一下,你拿到了一份风场数据,里面密密…

2026/6/24 19:18:28阅读更多 →
Ziggurat算法:高效生成正态分布随机数的原理与实现

Ziggurat算法:高效生成正态分布随机数的原理与实现

1. 从“慢”到“快”:为什么我们需要Ziggurat算法? 如果你用过MATLAB里的 randn 函数,或者在任何需要生成正态分布随机数的场景里写过代码,你可能觉得这很简单,一行命令就搞定了。但如果你真的去深究过这行命令背后的…

2026/6/24 19:13:28阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/24 7:33:03阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/24 2:12:09阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/24 7:37:00阅读更多 →
TaskJuggler脚本编程入门:用代码实现自动化项目管理

TaskJuggler脚本编程入门:用代码实现自动化项目管理

TaskJuggler脚本编程入门:用代码实现自动化项目管理 【免费下载链接】TaskJuggler TaskJuggler - Project Management beyond Gantt chart drawing 项目地址: https://gitcode.com/gh_mirrors/ta/TaskJuggler TaskJuggler是一款强大的开源项目管理工具&#…

2026/6/24 0:02:41阅读更多 →
终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果

终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果

终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果 【免费下载链接】angular-mobile-nav An angular navigation service for mobile applications 项目地址: https://gitcode.com/gh_mirrors/an/angular-mobile-nav angular-mobile-nav是一款专为…

2026/6/24 0:02:41阅读更多 →
Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作

Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作

Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作 【免费下载链接】Wan2.1-Fun-V1.1-1.3B-InP 项目地址: https://ai.gitcode.com/hf_mirrors/PAI/Wan2.1-Fun-V1.1-1.3B-InP Wan2.1-Fun-V1.1-1.3B-InP是一款强大的AI视频创作工具,…

2026/6/24 0:02:41阅读更多 →