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

小木的机器学习日记——KNN

核心知识点总结与星级排序

我为你梳理了这节课的精髓,并按照重要性进行了星级评定(★★★★★为最高)。

★★★★★ 核心思想:回归 (Regression) 到底是什么?
  • 是否关键:是
  • 必须了解:是
  • 必须记住:是

小白为你讲解:

我们再来巩固一下这个最最基本的概念。

分类(Classification):做 “判断题” 或 “选择题”。结果是离散的类别。比如:这封邮件是 “垃圾邮件” 还是 “非垃圾邮件”?这张图片是 “猫”、“狗” 还是 “鸟”?

回归(Regression):做 “填空题”。结果是一个连续的具体数值。比如:这套房子的价格是多少 “万元”?明天的气温是多少 “摄氏度”?

课程中提到 “回归” 这个词翻译得不好,可能会让你觉得困惑,这一点非常真实。你完全不需要纠结于 “回到哪里去”,只需要记住:回归 = 预测一个具体的数值。

【思维与实力提升】

思维提升:在接触任何一个业务问题时,你脑海里要做的第一件事,就是判断它属于 “分类” 还是 “回归”。这个判断决定了你后续所有工作的方向:选择什么模型、用什么评估指标、如何解释结果。这是一个机器学习工程师最基本的 “问题定义” 能力。

硬实力提升:能够清晰地向同事或面试官阐述一个任务是分类还是回归,并解释为什么。例如:“我们要做股价预测。如果目标是预测‘涨’还是‘跌’,这是一个二分类问题;如果目标是预测具体的‘收盘价’,那么这就是一个回归问题。”

★★★★☆ 核心原理:KNN 回归的决策规则 —— 从 “投票” 到 “求平均”
  • 是否关键:是
  • 必须了解:是
  • 必须记住:是

小白为你讲解:

“近朱者赤,近墨者黑” 这个道理在分类和回归中都适用,但具体做法有所不同。

KNN 分类:看新样本的邻居里哪个 “帮派”(类别)的人数最多,就判定新样本属于哪个帮派。这叫分类表决(Majority Vote)。

KNN 回归:不看帮派了,而是询问邻居们 “你们的房价分别是多少?” 然后取一个平均值作为新样本的房价预测。这叫均值法(Averaging)。

课程中还提到了加权均值法(Weighted Average),这对应 SKLEARN 里的weights='distance'参数。其意思很简单:离新样本越近的邻居,他的房价对新样本的参考价值就越大(权重高),离得远的参考价值就小一点(权重低)。这种方法通常比简单求平均更合理。

【思维与实力提升】

思维提升:这让你看到算法设计的灵活性。同一个核心思想(基于距离),可以通过改变最后一步的决策规则,来适配完全不同的任务。这启发我们,在学习新算法时,要重点关注它的两个部分:1. 核心度量 / 假设是什么?2. 最终决策规则是什么?

硬实力提升:掌握 SKLEARN 中 KNeighbors 分类器和 KNeighbors 回归器的区别。能举一反三,看到分类器就能想到可能有对应的回归器,这是非常宝贵的实践经验,能极大提高你自学和解决问题的效率。

★★★★★ 黄金实践:再次被验证的真理 —— 归一化的威力
  • 是否关键:是
  • 必须了解:是
  • 必须记住:是(重要的事情说三遍!)

小白为你讲解:

这节课最精彩的部分,莫过于那个戏剧性的 “翻盘”:

没有归一化,模型在波士顿房价数据集上的表现非常差(得分 0.49)。

加上归一化之后,效果立竿见影,得分飙升到 0.83!

这比任何理论都更有说服力!它再次告诉你:对于 KNN 这种基于距离计算的算法,如果特征之间的尺度(量纲)差异巨大(比如波士顿房价数据里,有犯罪率这种小数值,也有房产税这种大数值),就必须进行归一化!否则,模型就会被那些数值大的特征 “带偏”,完全忽略掉其他特征的信息。

【思维与实力提升】

思维提升:建立一个 “建模 SOP(标准作业流程)” 的意识。在你的流程清单里,“数据预处理 - 特征归一化” 必须是紧跟在 “数据划分” 之后的关键一步。这能让你在 90% 的情况下避免犯低级错误,保证模型有一个良好的起点。

软实力提升:在工作汇报或写论文时,展示 “有归一化” 和 “无归一化” 的对比实验结果,是证明你工作严谨、方法专业的绝佳方式。它能有力地支撑你 “为什么要做数据预处理” 这一环节的必要性。

★★★☆☆ 专家视角:算法的 “天命”——KNN 更适合分类
  • 是否关键:否
  • 必须了解:是
  • 必须记住:否(但理解了会让你更专业)

小白为你讲解:

课程最后提到了一个非常深刻的观点:KNN 虽然能做回归,但它骨子里更像一个 “分类选手”。为什么?

想象一下,KNN 回归的预测值,永远是它邻居们数值的平均值。这意味着,它的预测结果永远不会超过训练数据中出现过的最大值,也永远不会低于最小值。它无法 “创造” 出新的、超出范围的预测。如果房价一直在涨,KNN 是无法预测出一个比历史上所有房价都高的 “新高价” 的。它不具备外推(Extrapolation)的能力。

而分类任务,只需要找到一个正确的 “桶” 把样本放进去就行,对这种数值边界不敏感。

【思维与实力提升】

思维提升:从 “这个算法能做什么” 进化到 “这个算法的优点和局限性是什么”。这是从 “工具使用者” 到 “问题解决专家” 的关键一步。理解每个算法的 “天命”,才能在面对复杂问题时,做出最恰当的技术选型。

软实力提升:当别人都说 “我用 KNN 解决了这个问题” 时,你可以补充一句:“是的,KNN 在这里表现不错。但我们需要注意,由于它的原理是局部平均,对于需要预测未来趋势(可能超出历史范围)的场景,我们可能需要考虑线性模型或其它能进行外推的模型。” 这会让你在团队中显得尤为突出。

必会知识点自查(问题与答案)

现在,让我们用几个问题来检验一下你是否真正掌握了本节课的精髓。

问题 1: 你的老板想让你建立一个模型,根据用户的年龄、收入、历史消费记录,来预测他下个月具体会消费多少金额。请问,这是一个分类问题还是回归问题?


这是一个 >回归问题。因为你的目标是预测一个具体的、连续的数值(消费金额),而不是一个类别(比如“高消费用户”或“低消费用户”)。

问题 2: 当 KNN 算法从处理分类任务切换到回归任务时,它的核心决策规则从什么变成了什么?


它的核心决策规则从分类表决(少数服从多数)变成了 求均值(计算K个近邻目标值的平均值)。如果考虑距离影响,则是加权平均值。

问题 3: 你在使用 KNN 回归器预测波士顿房价,并且已经将数据分成了训练集X_train和测试集X_test。你将如何正确地使用标准缩放器对数据进行归一化?请描述关键步骤。
正确的步骤如下(这是黄金法则!):

  1. 创建一个`StandardScaler`的实例:`scaler = StandardScaler()`。
  2. 只在训练集上调用`fit_transform`方法,它会计算训练集的均值和标准差,并用它们来转换训练集:`X_train_scaled = scaler.fit_transform(X_train)`。
  3. 只在测试集上调用`transform`方法,它会使用在训练集上计算出的均值和标准差来转换测试集:`X_test_scaled = scaler.transform(X_test)`。
    绝对不能在测试集上再次调用`fit`或`fit_transform`!

http://www.dtcms.com/a/273774.html

相关文章:

  • lua中检查静态常量是否正确引用
  • 每天一个前端小知识 Day 28 - Web Workers / 多线程模型在前端中的应用实践
  • 【web应用】若依框架前端报表制作与导出全攻略(ECharts + html2canvas + jsPDF)
  • 界面组件DevExpress WPF中文教程:Grid - 如何检查节点?
  • Windows 应用程序的 UI 框架:WPF、WinUI 3 和 UWP的差异区别
  • VMware安装Centos 7
  • pandas销售数据分析
  • 十年架构心路:从单机到云原生的分布式系统演进史
  • 七牛云运维面试题及参考答案
  • MySQL 的语言体系
  • 【InnoDB存储引擎4】行结构
  • 报错 | “pnpm : 无法将“pnpm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,
  • day17 力扣654.最大二叉树 力扣617.合并二叉树 力扣700.二叉搜索树中的搜索 力扣98.验证二叉搜索树
  • 数据库迁移人大金仓数据库
  • 多表查询-2-多表查询概述
  • 黑马点评系列问题之P55优惠券秒杀 快捷键问题 Ctrl+D显示不出来老师给的界面
  • 第八章 STM32之IAP编程
  • mysql数据库导入导出命令
  • ARM架构CPU的市场和生态
  • 欢乐熊大话蓝牙知识26:想让设备秒连?Connection Interval 配得对吗?
  • 零碳园区:安科瑞EMS如何破解新能源消纳难与高耗能产业转型困局
  • 锁的艺术:从Mutex到ReentrantLock,掌握并发编程的脉搏
  • 大模型使用
  • Qt 实现新手引导
  • Windows解决 ping 127.0.0.1 一般故障问题
  • unity 有打击感的图片,怎么做动画,可以表现出良好的打击效果
  • STM32串口通信(寄存器与hal库实现)
  • 2025年7月11日学习笔记一周归纳——模式识别与机器学习
  • 高校智慧教室物联网系统设计与实现
  • 《磁力下载工具实测:资源搜索+高速下载一站式解决方案》