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

第五课:大白话教你用K邻近算法做分类和回归

K近邻算法:你的「最像前任」预测器

大家好!这节课我要介绍一个超有意思的算法——K近邻(K-Nearest Neighbors,简称KNN)。它可能是机器学习界最「懒」的算法,但偏偏在很多问题上表现惊人!我会用最接地气的方式,带你理解它的工作原理、为什么它这么「懒」、以及它如何帮你做分类和预测。保证你看完不仅能懂,还能用这个知识在朋友聚会上装X!
在这里插入图片描述

1. KNN是什么?——「物以类聚」的科学版

1.1 一句话定义

KNN的核心思想就一句话:「看看你周围的小伙伴都是谁,你就大概率是谁」

1.2 现实生活类比

想象你在大学开学第一天:

  • 你不知道该加入哪个社团(分类问题)
  • 于是你观察周围最接近的5个同学(K=5)
    • 如果3个是动漫社的,2个是篮球社的 → 你大概率是动漫社的
    • 这就是KNN分类!

如果是预测你的期末成绩(回归问题):

  • 找出上学期和你学习习惯最像的5个学长
  • 把他们的平均成绩作为你的预测成绩
    • 这就是KNN回归!

2. 算法原理:三步搞定KNN

KNN的工作流程简单到令人发指,就像选美比赛:

Step 1:收集所有参赛者(训练阶段)

  • 把已知数据(比如100个已分类的同学)放在一个「人才库」里
  • 关键点:KNN这时什么都不学!只是把数据存起来(所以叫「惰性学习」)

Step 2:来了个新人(预测阶段)

  • 来了个新同学小明,要判断他该加入哪个社团
  • 计算小明和人才库里每个人的「相似度」(通常是欧氏距离)

Step 3:找最像的K个邻居投票

  • 假设K=5,找出和小明最相似的5个同学
  • 看这5人中哪个社团最多,就分配给小明

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fmiro.medium.com%2Fmax%2F1200%2F1*Q3z5qSrFWPxFVKqGcm4JGw.gif&pos_id=img-XWoP5378-1750750848906

(就像在一群人中找出和你穿衣风格最像的K个人)

3. 为什么说KNN是「懒汉算法」?

3.1 惰性学习(Lazy Learning)的特点

  • 普通好学生(如线性回归):上课认真听讲(训练时计算权重),考试直接答题(预测快)
  • KNN学渣:上课睡觉(训练时不计算),考试时才翻书找相似例题(预测时临时计算)

3.2

http://www.lqws.cn/news/503803.html

相关文章:

  • 从零学习linux(2)——管理
  • 战地2042(战地风云)因安全启动(Secure Boot)无法启动的解决方案以及其他常见的启动或闪退问题
  • iOS 抓包实战:时间戳偏差导致的数据同步异常排查记录
  • spring-ai 1.0.0 学习(十四)——向量数据库
  • 【机器学习深度学习】反向传播机制
  • 使用argparse封装python程序为命令行工具
  • C++ 第二阶段:模板编程 - 第一节:函数模板与类模板
  • Linux线程概念及常用接口(1)
  • 数据分箱:科学分类的简单指南
  • 轻量级小程序自定义tabbar组件封装的实现与使用
  • MediaMarktSaturn EDI 对接指南:欧洲零售卖场的数字化协同范例
  • 火山引擎向量数据库 Milvus 版正式开放
  • 竹云受邀出席华为开发者大会,与华为联合发布海外政务数字化解决方案
  • 【MATLAB代码】基于MVC的EKF和经典EKF对三维非线性状态的滤波,提供滤波值对比、误差对比,应对跳变的观测噪声进行优化
  • 安全报告:LLM 模型在无显性攻击提示下的越狱行为分析
  • SSE和Kafka应用场景对比
  • taro小程序,tailwindcss的bg-x-x,背景颜色不生效,只有自定义的写法颜色才生效
  • Qt面试题汇总
  • 在微服务中使用 Sentinel
  • PYTHON从入门到实践3-变量
  • LayUI的table实现行上传图片+mvc
  • JavaEE初阶第四期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(二)
  • 在 .NET Core WebAPI 项目中,执行文件(.exe)方式运行并指定端口
  • Python实例题:Web 爬虫与数据可视化
  • 《AI大模型核心技术揭秘与商业落地实战》学习内容系统总结
  • Android APP内切换语言无感重启到当前界面
  • Jenkins+Jmeter+Ant接口持续集成
  • 6.24_JAVA_微服务_Elasticsearch搜索
  • Temporal Join,一探究竟
  • 【服务器】教程 — Linux上如何挂载服务器NAS