机器学习算法之K近邻算法(KNN)

25 篇文章 0 订阅
订阅专栏

KNN是一种基本分类与回归算法,它没有显式的学习过程。它不像其他模型有损失函数、有优化算法、有训练过程。对于给定的实例数据和其对应的所属类别,当要对新的实例进行分类时,根据这个实例最近的K个实例所属的类别来决定其属于哪一个类。KNN算法示意图:

图1.KNN算法

KNN算法过程如下:

KNN做回归和分类的主要区别在于最后做预测时候的决策方式不同。KNN做分类预测时,一般是选择多数表决法,即训练集里和预测的样本特征最近的K个样本,预测为里面有最多类别数的类别。而KNN做回归时,一般是选择平均法,即最近的K个样本的样本输出的平均值作为回归预测值。由于两者区别不大,虽然本文主要是讲解KNN的分类方法,但思想对KNN的回归方法也适用。

KNN的优缺点:

1、优点:简单、易于理解,易于实现,无需估计参数,无需训练。适合对稀有事件进行分类(例如当流失率很低时,比如低于0.5%,构造流失预测模型等)。

特别适合于多分类问题(对象具有多个类别标签),例如根据基因特征来判断其功能分类,KNN比SVM的表现更好。

2、缺点:懒惰算法,对测试样本分类时的计算量大,内存开销大,评分慢。可解释性较差,无法给出决策树那样的规则。

 

模型:

在特征空间中,对每个训练实例点 Xi ,距离该点比其他点更进的所有点组成一个区域,叫作单元。每个训练实例点拥有一个单元,所有训练实例点的单元构成了对特征空间的一个划分。最近邻法将实例 Xi 的类 Yi 作为其单元中所有点的类标记。这样,每个单元的实例点的类别是确定的,如图所示为二维和三维特征空间划分的例子。

图2.二维特征空间

图3.三维特征空间

KNN算法三要素:距离度量的方式、K值的选取和分类决策规则。

距离度量:

特征空间中两个实例点的距离是两个实例点相似度的反应。常使用的距离是欧氏距离、  Lp 距离、Minkowski距离。

 

K值的选择:

若选择较小的k值,相当于用较小的领域中的训练实例进行预测学习的近似误差会减小,而学习的估计误差会增大。预测结果会对近邻的实例点非常敏感,如果邻近的这个实例点是噪声,则会预测出错误结果。k值越小,模型变得越复杂,也就更容易出现过拟合现象。

若选择较大的k值,则意味着模型变得简单,可以减少学习的估计误差,但是也会增大学习的近似误差。那些不相似的训练实例也会对预测起作用,导致预测结果错误。

若k=N,则会将训练实例中最多的类作为输入实例的类。由于模型过于简单,会忽略掉训练实例中大量的有用信息。

在实际应用中,我们常常采用交叉法来选取最优的k值。

 

分类决策规则:

K近邻算法中分类决策规则往往采用多数表决法。分类决策规则如下:

接下来是通过Python代码实现KNN算法并将其函数化封装:

以上就是KNN算法的原理及代码实现。


搜索公众号:ai_works,获取更多机器学习资讯:

长按二维码,关注:机器学习AI工场

机器学习KNN最邻近分类算法入门思维导图,果断收藏
君莫笑的博客
04-19 1784
KNN(K-Nearest Neighbor)最邻近分类算法是数据挖掘分类(classification)技术中最简单的算法之一,其指导思想是”近朱者赤,近墨者黑“,即由你的邻居来推断出你的类别。
机器学习-KNN(最近邻)详解
INFINALGEORGE的博客
06-04 1599
K-近邻算法原理 K最近邻(kNN,k-NearestNeighbor)分类算法,见名思意:找到最近的k个邻居(样本),在前k个样本中选择频率最高的类别作为预测类别,什么?怎么那么拗口,没图说个JB,下面举个例子,图解一下大家就会显而易见了,如下图: 我们的目的是要预测某个学生在数学课上的成绩。。。 先来说明几个基本概念:图中每个点代表一个样本(在这里是指一个学生),横纵坐标代表了特征(到课率,作业质量),不同的形状代表了类别(即:红色代表A(优秀),绿色代表D(不及格))。我们现在看(10,20)这个.
k近邻算法简介及源代码(含图象打印)
liusanzhu的博客
07-19 1738
一、什么是KNN算法 kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 实例展示:如下图      绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3
算法(八):图解KNN算法
weixin_33713707的博客
11-24 642
算法简介 K最相邻算法(K-NearestNeighbor Classification Algorithm,KNN)是数据挖掘分类技术中最简单的方法之一,所谓K最近邻,就是K个最近的邻居的意思,说的是每个样本都可以用它最接近的K个邻居来代表。 KNN算法的核心思想是如果一个样本在特征空间中的K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定...
机器学习中的分类算法详细介绍一(KNN、决策树)
m0_74259636的博客
06-06 4991
机器学习中的分类算法有:KNN算法、决策树、随机森林、SVM、极限学习机、多层感知机(BP神经网络)、贝叶斯方法。
深度学习之——KNN算法(k-最近邻算法
CFH1021的博客
05-15 7234
k-最近邻算法基础理论欧式距离(Euclidean distance)曼哈顿距离(Manhattan distance)代码实例   在学习深度和图像识别的时候,看见了一个比较有意思的算法——KNN算法,该算法是图像分类中最简单的算法之一。 基础理论   KNN算法全称是K-最近邻算法,英文名称是K-NearestNeighbor,简称为KNN;从算法名称上,可以猜出,是找到最近的k个邻居,在选取到的k个样本中选取出最近的且占比最高的类别作为预测类别。如下图所示: KNN算法   上图所指示,蓝色的正方形
机器学习实战 - k近邻算法KNN算法)总结
04-12
机器学习实战 - k近邻算法KNN算法)总结 适合机器学习实战入门新手 K-近邻算法,又称为 KNN 算法,是数据挖掘技术中原理最简单的算法KNN 的工作原理:给定一个已知类别标签的数据训练集,输入没有标签的新数据...
机器学习算法KNN(K近邻)应用实例——实现对是否患糖尿病的预测
05-06
机器学习算法KNN(K近邻)应用实例 使用KNN(K近邻)算法对是否容易得糖尿病问题进行预测。 资源中包括完成的KNN算法训练和实现过程,以及用于机器学习的糖尿病数据集。 数据特征包括: Pregnancies:怀孕次数 ...
机器学习KNN(k近邻)算法详解
02-24
一、基本分类:①监督学习(Supervisedlearning)数据集中的每个样本有相应的“正确答案”,根据这些样本做出预测,分有两类:回归问题和分类问题。步骤1:数据集的创建和分类步骤2:训练步骤3:验证步骤4:使用(1...
kNN_k近邻_机器学习_分类算法_
10-02
机器学习方法,利用K近邻聚类算法进行数据分类
近邻法流程图
07-25
模式识别K近邻法的流程图用于学生实验报告和作业
kdtree-knn:使用 KDTrees 构建 KNN
07-07
kdtree-knn 使用 KDTrees 构建 KNN
【Python机器学习系列】建立KNN模型预测心脏疾病(完整实现过程)
最新发布
数据杂坛
01-13 1174
建立KNN模型预测心脏疾病(完整实现过程)
Python实现直方图梯度提升回归模型(HistGradientBoostingRegressor算法)并基于网格搜索进行优化同时绘制PDP依赖图项目实战
京斗码农的博客
11-05 2856
Python实现直方图梯度提升回归模型(HistGradientBoostingRegressor算法)并基于网格搜索进行优化同时绘制PDP依赖图项目实战
knn算法的原理与实现
hellozhxy的博客
07-05 1万+
机器学习基础算法python代码实现可参考:zlxy9892/ml_code1 原理knn机器学习领域非常基础的一种算法,可解决分类或者回归问题,如果是刚开始入门学习机器学习knn是一个非常好的入门选择,它有着便于理解,实现简单的特点,那么下面就开始介绍其算法的原理。首先,knn算法的基本法则是:相同类别的样本之间在特征空间中应当聚集在一起。如下图所示,假设我们现在红、绿、蓝三种颜色的点,分...
用Python开始机器学习(4:KNN分类算法
热门推荐
lsldd的专栏
11-23 6万+
KNN分类算法(K-Nearest-Neighbors Classification)是
K-近邻(KNN)模型详解
数据森麟
04-25 1万+
作者:青十五 来源:青十五K-近邻(K- Nearest Neighbor,KNN)模型是一个非常简单与直观的模型,其基本思想可以用这样一句俗语来解释——“近朱者赤,近...
k近邻算法(knn)的c语言实现
Random_0001的博客
11-04 1946
  最近在看knn算法,顺便敲敲代码。     knn属于数据挖掘的分类算法。基本思想是在距离空间里,如果一个样本的最接近的k个邻居里,绝大多数属于某个类别,则该样本也属于这个类别。俗话叫,“随大流”。   简单来说,KNN可以看成:有那么一堆你已经知道分类的数据,然后当一个新的数据进入的时候,就开始跟训练里的每个点求距离,然后挑出离这个数据最近的K个点,看看这K个点属于什么类型,...
K-邻近算法(KNN)
wangprince2017
08-12 1万+
1. KNN 算法原理 k-近邻算法(k-Nearest Neighbour algorithm)的工作原理:给定一个已知标签类别的训练数据集,输入没有标签的新数据后,在训练数据集中找到与新数据最邻近的 k 个实例,如果这 k 个实例的多数属于某个类别,那么新数据就属于这个类别。即由那些离新数据最近的 k 个实例来投票决定新数据归为哪一类。 最邻近分类算法是数据挖掘分类(classificat...
头歌机器学习KNN算法
05-19
KNN算法(K-Nearest Neighbors,K近邻算法)是一种基本的分类与回归算法。其基本思想是:如果一个样本在特征空间中的K个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。 具体来说,KNN算法的步骤如下: 1. 计算测试数据与各个训练数据之间的距离; 2. 统计距离最近的K个训练数据的类别; 3. 根据这K个训练数据的类别,确定测试数据的类别。 在KNN算法中,K的取值通常是不大于20的整数。K越小,模型的复杂度越低,但是容易受到噪声的影响;K越大,模型的复杂度越高,但是容易受到样本不均衡的影响。 KNN算法的优点包括简单易懂、不需要训练过程、能够处理多分类问题等;缺点包括计算量大、对于高维数据容易失效、对于不均衡样本容易受到影响等。 KNN算法在实际应用中常用于图像识别、推荐系统、预测等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • PDF图标异常的解决方法 46690
  • Pandas中的read_csv()将第一行的数据变成了列名 16711
  • Java中处理异常(try/catch)的快捷键 13784
  • pandas中read_csv()读取路径报错 11883
  • python中读取文件时路径问题 11807

分类专栏

  • Linux 1篇
  • Python 25篇
  • GitHub
  • VS2015 3篇
  • 机器学习 14篇
  • SQL 1篇
  • Java 1篇

最新评论

  • PDF图标异常的解决方法

    margaux_55: 您好,还是不行哎

  • pandas中read_csv()读取路径报错

    strongwills: 感谢大佬的非常实用的solution

  • pandas的read_csv读入csv文件编码格式报错

    阿诚诚诚。: YIFU是义父的意思

  • pandas的read_csv读入csv文件编码格式报错

    阿诚诚诚。: YIFU,帮了我大忙,贼6

  • ANACONDA Prompt中不能用使用pip install XXX 进行安装

    CSND秋: 大赞一波,感谢前辈铺路,后辈乘荫!!!!!表情包

最新文章

  • 机器学习实战+源代码
  • Linux命令的基本使用
  • 动手学深度学习
2020年1篇
2019年28篇
2018年29篇
2016年8篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司黄石百度标王报价莱芜百姓网标王推广报价菏泽模板网站建设价格龙岩如何制作网站价格海南网站搭建公司兴安盟建站价格汕头百搜标王推荐萍乡网站定制公司平顶山高端网站设计多少钱云浮网站定制晋城百度关键词包年推广景德镇网站建设设计推荐果洛网站优化按天收费哪家好衢州优化多少钱北京百度竞价包年推广龙华网站优化排名多少钱伊春网站推广工具多少钱坑梓网站推广报价舟山网络推广海口网站推广工具多少钱黑河百度网站优化哪家好太原百度关键词包年推广报价阜新seo排名哪家好内江网站seo优化报价秦皇岛网站推广系统价格塔城网站关键词优化推荐泰州优化朝阳SEO按天计费荆门网站seo优化哪家好镇江网站搜索优化推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化