什么是KNN

K近邻算法又称KNN,全称是K-Nearest Neighbors算法,它是数据挖掘和机器学习中常用的学习算法,也是机器学习中最简单的分类算法之一。KNN的使用范围很广泛,在样本量足够大的前提条件之下它的准确度非常高。

KNN是一种非参数的懒惰学习算法。其目的是使用一个数据库,其中数据点被分成几个类来预测新样本点的分类。简单举个例子,你搬到了一个新的社区,想和你的邻居成为朋友。你开始与邻居交往了。你决定挑选和你的思维方式,兴趣和爱好相似的邻居。在这里思维方式,兴趣和爱好都是特色。您根据兴趣,爱好和思维相似性决定您的邻居朋友圈。这类似于KNN的工作方式所谓K近邻,就是K个最近的邻居的意思。KNN算法既可以做分类,也可以做回归。

K是什么?

K是用于识别新数据点的类似邻居的数字。

参考我们在新社区中的朋友圈的例子。我们根据共同的思维或爱好选择了3个我们希望成为非常亲密朋友的邻居。在这种情况下,K是3。

KNN使用K最近邻居来决定新数据点所属的位置。此决定基于特征相似性。

我们如何选择K的值?

K的选择对我们从KNN获得的结果产生了巨大影响。

我们可以采用测试集并绘制准确率或F1分数对不同的K值。

当K = 1时,我们看到测试集的错误率很高。因此,我们可以得出结论,当k = 1时,模型会过度拟合。

对于较高的K值,我们看到F1得分开始下降。当k = 5时,测试集达到最小错误率。这与K-means中使用的弯头方法非常相似。

在测试误差率的K值给出了K的最佳值。

KNN算法原理

我们可以使用K折叠交叉验证来评估KNN分类器的准确性。

KNN如何运作?

我们在组织中拥有年龄和经验以及薪水。我们想要预测年龄和经验可用的新候选人的工资。

步骤1:为K选择一个值。K应该是一个奇数。

步骤2:找到每个训练数据的新点距离。

步骤3:找到新数据点的K个最近邻居。

步骤4:对于分类,计算k个邻居中每个类别中的数据点的数量。新数据点将属于具有最多邻居的类。

对于回归,新数据点的值将是k个邻居的平均值。

KNN算法原理

K = 5。我们将平均5个最近邻居的工资来预测新数据点的工资

如何计算距离?

可以使用计算距离

  • 欧氏距离
  • 曼哈顿距离
  • 汉明距离
  • 闵可夫斯基距离

欧几里德距离是两点之间的平方距离之和的平方根。它也被称为L2规范。

欧几里德距离

曼哈顿距离是两点之间差异的绝对值之和。

曼哈顿距离

用于分类变量。简单来说,它告诉我们两个分类变量是否相同。

汉明距离

Minkowski距离用于找出两点之间的距离相似性。当p = 1时,它变为曼哈顿距离,当p = 2时,它变为欧几里德距离

闵可夫斯基距离

KNN的优点和缺点是什么?

K最近邻居的优点

简单的算法因此易于解释预测

非参数化,因此不对基础数据模式做出假设

用于分类和回归

与其他机器学习算法相比,最近邻居的训练步骤要快得多

K最近邻居的缺点

KNN在计算上是昂贵的,因为它在预测阶段搜索最近邻居的新点

由于KNN必须存储所有数据点,因此存储器要求很高

预测阶段非常昂贵

对异常值敏感,准确性受噪声或无关数据的影响。

K近邻算法KNN的简述相关推荐

  1. 基于KD树的K近邻算法(KNN)算法

    文章目录 KNN 简介 KNN 三要素 距离度量 k值的选择 分类决策规则 KNN 实现 1,构造kd树 2,搜索最近邻 3,预测 用kd树完成最近邻搜索 K近邻算法(KNN)算法,是一种基本的分类与 ...

  2. k近邻算法(KNN)-分类算法

    k近邻算法(KNN)-分类算法 1 概念 定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别. k-近邻算法采用测量不同特征值之间的 ...

  3. 01 K近邻算法 KNN

    01 K近邻算法 KNN k近邻算法基础 等价于 scikit-learn中的机器学习算法封装 训练数据集,测试数据集 分类准确度 超参数 考虑距离权重 更多关于距离的定义 搜索明可夫斯基距离相应的p ...

  4. k近邻算法 (KNN)

    k近邻算法 k近邻算法(KNN,K-NearestNeighbor)是一种基本分类和回归方法,监督学习算法,本质上是基于一种数据统计的方法: 核心思想:给定一个训练数据集,对新的输入实例,在训练数据集 ...

  5. 一文搞懂K近邻算法(KNN),附带多个实现案例

    简介:本文作者为 CSDN 博客作者董安勇,江苏泰州人,现就读于昆明理工大学电子与通信工程专业硕士,目前主要学习机器学习,深度学习以及大数据,主要使用python.Java编程语言.平时喜欢看书,打篮 ...

  6. K近邻算法(KNN)原理小结

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 目录 1. KNN算法原理 2. KNN算法三要素 3. KNN算 ...

  7. 机器学习-分类之K近邻算法(KNN)原理及实战

    k近邻算法(KNN) 简介 KNN算法是数据挖掘分类技术中最简单的方法之一.它通过测量不同特征值之间的距离进行分类的.其基本思路为:如果一个样本在特征空间中的k个最近邻样本中的大多数属于某一个类别,则 ...

  8. 基于kd树的k近邻算法——KNN

    1.简介 k近邻算法是机器学习中一种基本的分类与回归算法,对你没听错k近邻算法不仅可以用来做分类,还可以用于回归,英文全称为k-Nearest Neighbor简称k-NN.k近邻算法属于一种有监督学 ...

  9. 2 机器学习 K近邻算法(KNN) 学习曲线 交叉验证 手写数字识别

    机器学习 1 K-近邻算法介绍 1.1 分类问题 分类问题:根据已知样本的某些特征,判断一个未知样本属于哪种样本类别. 与回归问题相比,分类问题的输出结果是离散值,用于指定输入的样本数据属于哪个类别. ...

最新文章

  1. eclipse+ADT下android开发AVD若干问题
  2. Latex 数学公式使用入门
  3. 从Python脚本判断服务器不可达,到Zabbix报警
  4. UI自学宝典,完整UI学习线路图
  5. Cordova/Ionic Android 开发环境搭建 - Windows系统
  6. SAP Fiori里Contact Support的按钮渲染逻辑
  7. 金融行业 | 电子银行系统性能优化解决方案
  8. hibernate 多条件组合查询之sql拼接
  9. exec vs sp_executesql
  10. 机器学习交易——如何使用回归预测股票价格?【翻译】
  11. 中国料斗底部谷物拖车市场趋势报告、技术动态创新及市场预测
  12. linux7不能使用yum,CentOS7.6无法使用yum命令,无法更新解决方法
  13. jdk帮助文档 JDK1.8 JDK14
  14. 《Fortran 95 程序设计》阅读笔记三
  15. 软件工程与计算II-5-需求基础
  16. rtc校准算法_CRC校验算法的实例解析
  17. Qt下汉字转拼音,包含二级汉字
  18. 2022年微信权重号养号方法
  19. Nginx的请求转发使用步骤
  20. 如何阅读《如何阅读一本书》?

热门文章

  1. ​HOG特征也可以作为图像重建的目标!FAIRJHU提出新的one-stage自监督预训练模型MaskFeat!...
  2. 2020年“3D视觉工坊”视频号最受欢迎视频 Top 10!
  3. 2020最新点云深度学习综述
  4. 入门NLP最优解:从项目实践轻松入手!
  5. 3D人脸重建和人脸分析常用的数据集汇总
  6. Ajax---根据id从数据库查找对应的省份名称
  7. 如何安装rabbitmq
  8. CentOS 7(64位)系统中安装AutoDockTools(MGLTools)
  9. 2.爬虫的Python基础
  10. oracle并行parallel update两张表_Oracle并行更新的两种方式(merge/update内联视图)