K近邻算法KNN的简述
什么是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的简述相关推荐
- 基于KD树的K近邻算法(KNN)算法
文章目录 KNN 简介 KNN 三要素 距离度量 k值的选择 分类决策规则 KNN 实现 1,构造kd树 2,搜索最近邻 3,预测 用kd树完成最近邻搜索 K近邻算法(KNN)算法,是一种基本的分类与 ...
- k近邻算法(KNN)-分类算法
k近邻算法(KNN)-分类算法 1 概念 定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别. k-近邻算法采用测量不同特征值之间的 ...
- 01 K近邻算法 KNN
01 K近邻算法 KNN k近邻算法基础 等价于 scikit-learn中的机器学习算法封装 训练数据集,测试数据集 分类准确度 超参数 考虑距离权重 更多关于距离的定义 搜索明可夫斯基距离相应的p ...
- k近邻算法 (KNN)
k近邻算法 k近邻算法(KNN,K-NearestNeighbor)是一种基本分类和回归方法,监督学习算法,本质上是基于一种数据统计的方法: 核心思想:给定一个训练数据集,对新的输入实例,在训练数据集 ...
- 一文搞懂K近邻算法(KNN),附带多个实现案例
简介:本文作者为 CSDN 博客作者董安勇,江苏泰州人,现就读于昆明理工大学电子与通信工程专业硕士,目前主要学习机器学习,深度学习以及大数据,主要使用python.Java编程语言.平时喜欢看书,打篮 ...
- K近邻算法(KNN)原理小结
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 目录 1. KNN算法原理 2. KNN算法三要素 3. KNN算 ...
- 机器学习-分类之K近邻算法(KNN)原理及实战
k近邻算法(KNN) 简介 KNN算法是数据挖掘分类技术中最简单的方法之一.它通过测量不同特征值之间的距离进行分类的.其基本思路为:如果一个样本在特征空间中的k个最近邻样本中的大多数属于某一个类别,则 ...
- 基于kd树的k近邻算法——KNN
1.简介 k近邻算法是机器学习中一种基本的分类与回归算法,对你没听错k近邻算法不仅可以用来做分类,还可以用于回归,英文全称为k-Nearest Neighbor简称k-NN.k近邻算法属于一种有监督学 ...
- 2 机器学习 K近邻算法(KNN) 学习曲线 交叉验证 手写数字识别
机器学习 1 K-近邻算法介绍 1.1 分类问题 分类问题:根据已知样本的某些特征,判断一个未知样本属于哪种样本类别. 与回归问题相比,分类问题的输出结果是离散值,用于指定输入的样本数据属于哪个类别. ...
最新文章
- eclipse+ADT下android开发AVD若干问题
- Latex 数学公式使用入门
- 从Python脚本判断服务器不可达,到Zabbix报警
- UI自学宝典,完整UI学习线路图
- Cordova/Ionic Android 开发环境搭建 - Windows系统
- SAP Fiori里Contact Support的按钮渲染逻辑
- 金融行业 | 电子银行系统性能优化解决方案
- hibernate 多条件组合查询之sql拼接
- exec vs sp_executesql
- 机器学习交易——如何使用回归预测股票价格?【翻译】
- 中国料斗底部谷物拖车市场趋势报告、技术动态创新及市场预测
- linux7不能使用yum,CentOS7.6无法使用yum命令,无法更新解决方法
- jdk帮助文档 JDK1.8 JDK14
- 《Fortran 95 程序设计》阅读笔记三
- 软件工程与计算II-5-需求基础
- rtc校准算法_CRC校验算法的实例解析
- Qt下汉字转拼音,包含二级汉字
- 2022年微信权重号养号方法
- Nginx的请求转发使用步骤
- 如何阅读《如何阅读一本书》?
热门文章
- ​HOG特征也可以作为图像重建的目标!FAIRJHU提出新的one-stage自监督预训练模型MaskFeat!...
- 2020年“3D视觉工坊”视频号最受欢迎视频 Top 10!
- 2020最新点云深度学习综述
- 入门NLP最优解:从项目实践轻松入手!
- 3D人脸重建和人脸分析常用的数据集汇总
- Ajax---根据id从数据库查找对应的省份名称
- 如何安装rabbitmq
- CentOS 7(64位)系统中安装AutoDockTools(MGLTools)
- 2.爬虫的Python基础
- oracle并行parallel update两张表_Oracle并行更新的两种方式(merge/update内联视图)