Arian Soleimanzadeh
  • 首页
  • 博客
  • 播客
  • 视频
  • 联系
العربيةArabic
DeutschGerman
EnglishEnglish
فارسیPersian
한국어Korean
中文Chinese
面板•快速联系

Languages

Choose your interface locale

ar

العربية

Arabic

de

Deutsch

German

en

English

English

fa

فارسی

Persian

ko

한국어

Korean

zh

中文

Chinese

预约咨询

发送一条简短消息——我会尽快回复。

LinkedIn快速回复
首页/文章/什么是KNN?K-Nearest Neighbors实用指南
Machine Learning文章

什么是KNN?K-Nearest Neighbors实用指南

KNN是一种直观的监督学习算法,它通过观察与新样本最相近的已标记数据来进行预测。本文介绍K值、距离度量、特征缩放、分类与回归以及主要优缺点。

2026年8月18日5 分钟阅读1 浏览
#Machine Learning#KNN#Classification#Supervised Learning#Data Science

Arian Soleimanzadeh

Software Engineer & Researcher

展示新样本与其最近已标记邻居的KNN概念图

Arian Soleimanzadeh

AI · 代码 · 产品

研究 + 工程
本页目录
基本流程K代表什么?Euclidean Distance为什么需要Feature Scaling?Classification与Regression优点局限如何选择K?应用场景实现逻辑总结

K-Nearest Neighbors(KNN) 是最直观的机器学习算法之一。面对一个新样本时,它会寻找训练数据中最相近的若干样本,并使用这些邻居的结果进行预测。

KNN通常属于监督学习(Supervised Learning)。

基本流程

  1. 准备训练数据和Label。
  2. 计算新样本与所有训练样本之间的距离。
  3. 按距离从小到大排序。
  4. 选择最近的K个样本。
  5. 在分类问题中,返回出现次数最多的类别。

K代表什么?

K表示参与决策的邻居数量。

K = 1时,只参考最近的一个样本;K = 5时,则由五个邻居共同决定。

在二分类中,3、5、7等奇数比较常见,但最佳K值应通过Validation数据来确定。

Euclidean Distance

常见的距离度量是欧氏距离:

d = sqrt((x2 - x1)^2 + (y2 - y1)^2)

距离越小,说明两个样本在所选特征空间中越相似。

为什么需要Feature Scaling?

如果一个特征范围为1到100,另一个范围为1到500000,后者可能完全主导距离计算。

因此在KNN之前经常使用Standardization或Min-Max Scaling。

Classification与Regression

在Classification中,通常选择K个邻居中出现次数最多的类别。

在Regression中,可以使用邻居目标值的平均值或加权平均值。

优点

  • 原理简单
  • 几乎不需要复杂训练
  • 适合中小型数据集
  • 可用于分类和回归

局限

  • 预测阶段可能需要大量距离计算
  • 对特征尺度敏感
  • 无关特征会降低效果
  • 高维空间中距离的区分能力会下降

如何选择K?

K过小容易受噪声影响,K过大又可能过度平滑局部结构。实践中应比较多个K值在验证集上的表现。

应用场景

  • 客户行为分类
  • 基于相似度的推荐
  • 简单异常检测
  • 医疗样本分类
  • 模式识别
  • 快速建立Baseline模型

实现逻辑

calculate distance to every training sample
sort by distance
take the nearest K
count labels
return the most frequent label

所提供JavaScript项目中的实现正是按照这一流程计算Euclidean Distance、排序、选择K个邻居并统计Label。

总结

KNN建立在一个非常直观的假设上:相似的样本往往具有相似的结果。

实际使用时,需要重点考虑K值、距离度量、Feature Scaling、数据规模和维度。

本页目录
基本流程K代表什么?Euclidean Distance为什么需要Feature Scaling?Classification与Regression优点局限如何选择K?应用场景实现逻辑总结

文章信息

发布时间、阅读时长和浏览数据。

发布

2026年8月18日

更新

2026年8月18日

阅读时长

5 分钟阅读

浏览

1

作者

Arian Soleimanzadeh

上一篇

销售人员在使用CRM或智能CRM之前应该掌握什么?

下一篇

什么是K-Means?机器学习聚类实用指南

让我们构建清晰、快速而优雅的作品。

用于合作、咨询或产品工作的快速联系入口。

快速联系给我发邮件
Arian Soleimanzadeh

个人作品集,聚焦现代 Web 工程、UI 系统与实用型 AI 产品——干净的代码,清晰的设计。

快速链接

  • 关于
  • 博客
  • 项目
  • 联系

联系

  • info@ariansoleimanzadeh.site
  • soleimanzadeh.a.work@gmail.com

可联系时间: 工作日

通常回复时间在 24小时内。

订阅通讯

获取文章、项目与新版本发布的更新。

© 2026 ariansoleimanzadeh.site — 保留所有权利。

LinkedIn