用人话讲明白近邻算法KNN

第L4周:机器学习|K-邻近算法模型 背景: 海伦一直使用在线约会网站寻找适合自己的约会对象。尽管约会网站会推荐不同的人选,但她没有从中找到喜欢的人。①不喜欢的人;②魅力一般的人;③极具魅力的人。①每年获得的飞行常客里程数②玩视频游戏所耗时间百分比③每周消费的冰淇淋公升数她希望根据现有的数据来判断一个陌生男人会被她归到哪一 阅读详情



1.KNN简介

KNN(K-NearestNeighbor)是机器学习入门级的分类算法,非常非常简单。

上一篇我们讲过Kmeans,初学者常常把这两者搞混,虽然KNN是有监督算法,Kmeans是无监督算法,但KNN和Kmeans确实有相同之处:

  • 两者都有“近朱者赤近墨者黑”的思想,将距离近的样本点划为同一类别

虽然两者名称中都有“K”,但是:

  • KNN中的K指的是近邻个数,也就是最近的K个点 ;
  • Kmeans中的K指的是最终聚类的个数,也就是要将所有点分成K类。

2.KNN算法步骤

我们有一堆样本点,类别已知,如下图左,蓝色为一类,黄色为另一类。现在有个新样本点,也就是图中黑色的叉叉,需要判断它属于哪一类。

KNN做的就是选出距离目标点黑叉叉距离最近的k个点,看这k个点的大多数颜色是什么颜色。这里的距离怎么定义?当然还是可以用我们的老朋友——欧氏距离来度量。

给定两个样本 X = ( x 1 , x 2 , . . . , x n ) X=(x_{1},x_{2},...,x_{n}) X=(x1,x2,...,xn) Y = ( y 1 , y 2 , . . . , y n ) Y=(y_{1},y_{2},...,y_{n}) Y=(y1,y2,

数据挖掘之KNN算法 虽然一下子介绍了很多,但大家肯定还是觉得不明就里,但是不用着急,距离的定义在机器学习中是一个核心概念,在之后的学习中还会经常遇到它。在这里介绍距离的目的一个是为了让大家使用k近邻算法时,如果发现效果不太好时,可以通过使用不同的距离定义来尝试改进算法的性能。在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。但实际上这里所说的距离与我们日常生活中所意识到的距离是不同的。算法的另一个核心参数是距离函数的选择。假设标准化后的特征为z,标准化之前的特征为x,特征的均值为μ,方差为s。 阅读详情

相关推荐

统计学习ESL 第二章

LR, KNN, MSE Decomposition, Generic Model

Shenglei Sketches 1809

终章 | 机器学习笔试题精选

击上方“AI有道”,选择“置顶公众号”关键时刻,第一时间送达!读本文大约需要 9 分钟机器学习是一门理论性和实战性都比较强的技术学科。在应聘机器学习相关工作岗位时,我们...

红色石头的专栏 1545

机器学习入门(二):KNN算法和决策边界(Decision Boundary)绘制

1)KNN算法基础知识: KNN全称K Nearest Neighbor, k是指最近邻居的个数。 俗说物以聚,人以群分,我们通常判别一个人是好是坏的方式就是看他周围是一群好人还是坏人。 这个算法也是如此,假如A的周围有一堆好人,我们就认为他是个好人。即使他周围有两个坏人(干扰项),我们也不会把它当成坏人。 而人与人的关系也有远近之分,计算远近,我们就需要用距离来衡量,有时候远亲不如近邻就体现了距离的重要性。 首先看这样一个例子: 现在有一个,坐标分别是a1=2,a2=4,a3=3,请问它是yes还是no。 很简单,我们就用三维坐标距离公式计算: 可以很直观地发现,他离第二个是最近

KNN算法

KNN算法介绍距离超参数分析过程K 值的选择标准化   介绍        K 最邻近算法是分算法,也可用于回归问题。它根据距离最近的 K 个别,判断未分别。也就是说,一个别由距离其最近的 K 个中占比最大的别决定。其中,K 是超参数。KNN是一种非线性分器。 距离        用欧式距离...

m_pNext的博客 1204

机器学习常见笔试题

Q1. 下面哪个对应的是正确的 KNN 决策边界? A. A B. B C. C D. D 答案:A 解析:本题考查的是 KNN 的相关知识KNN算法是一个比较成熟也是最简单的机器学习(Machine Learning)算法之一。该方法的思路是:如果一个样本在特征空间中与K个实例最为相似(即特征空间中最邻近),那么这 K 个实例中大多数属于哪个别,则该样本也属于这个别。其中,计算样本与其他实例的相似性一般采用距离衡量法。离得越近越相似,离得越远越不相似。因此,决策边界可能不

饭饭童鞋的博客 2053

深入探讨KNN算法与决策边界

KNN算法是一种基于实例的学习算法,也称为懒惰学习算法,因为它在训练阶段不需要构建明确的决策模型。距离度量:KNN算法首先需要定义一个距离度量标准,常用的有欧氏距离、曼哈顿距离和闵可夫斯基距离等。这些距离度量方法在特征空间中量化样本之间的相似度,是KNN算法的基础。寻找最近邻居:对于一个新的输入样本,算法计算它与训练集中每个样本的距离,并找出距离最近的K个样本。这一步骤是KNN算法的核心,因为它直接决定了算法的分结果。别决策。

ciweic的博客 1639

机器学习KNN的使用

KNN算法主要用于分问题。 它的核心思想是: 给定一个预测目标 计算预测预测目标和所有样本之间的距离或者相似度 选择距离最近的前K个样本 通过投票来决定分 sklearn包中自带的iris样本数据集,这里用这个数据集来练习knn算法。 1、iris数据集的介绍 参考:这一块内容昨天看了一篇博文,忘记地址了。 数据集内包含 3 共 150 条记录,每各 50 个数据。 每条记录都有 ...

Luna_cici的博客 1004

KNN算法(k近邻算法)原理及总结

KNN 算法,或者称 k最邻近算法,是有监督学习中的分算法。它可以用于分或回归问题,但它通常用作分算法。

m0_74405427的博客 14万+

KNN(邻近算法)

一、 什么是KNN 1、概念: KNN(K-NearesNeighbor) 即K邻近法,是一个理论上比较成熟的、也是最简单的机器学习算法之一 。 2、核心思想 一个样本与数据集中的k个样本最相似, 如果这k个样本中的大多数属于某一个别, 则该样本也属于这个别。也就是说,该方法在确定分决策上只依据最邻近的一个或者几个样本的别来决定待分样本所属的别。KNN方法在别决策时,只与极少量的相邻样本有关。 3、KNN算法步骤 3.1、计算距离 给定两个样本 和 ,其中n表示特征数 ,X和Y两个向量间的欧

冷锋的博客 2万+

python实现KNN算法(公式推导+源代码)

今天这篇文章要介绍的是KNN(k近邻算法),这是一种简单的分算法,它的思想是通过测量不同特征值之间的距离进行分的。 这样说你可能不太懂,那下面我们就通过一个简单的例子来形象的概述下。 以下面这张图为例,我们在这张图上可以看到有三种不同别的形状(正方形、圆形、三角形),其中他们的分布也是比较不集中的。 假设我们在内圆里面要判断某个东西是属于哪一别的,我们该怎么做呢 ? 方法很简单,就是在内圆里面选择K个数据离我(图中 ?表示)最近的几个,然后根据少数服从多数的原则,将多数的别作为我预

8236

KNN算法(一) KNN算法原理

一.KNN算法概述 KNN可以说是最简单的分算法之一,同时,它也是最常用的分算法之一,注意KNN算法是有监督学习中的分算法,它看起来和另一个机器学习算法Kmeans有像(Kmeans是无监督学习算法),但却是有本质区别的。那么什么是KNN算法呢,接下来我们就来介绍介绍吧。 二.KNN算法介绍 KNN的全称是K Nearest Neighbors,意思是K个最近的邻居,从这个名字我们就能看出一些KNN算法的蛛丝马迹了。K个最近邻居,毫无疑问,K的取值肯定是至关重要的。那么最近的邻居又是怎么回事呢

weixin_45014385的博客 12万+

Python Knn算法详解(近邻算法

KNN一、算法简述二、运行原理2.1、算法核心思想2.2、距离计算2.3、K值选择三、算法实现3.1、Sklearn KNN参数概述3.2、 KNN代码实例四、算法特五、算法优缺六、KNN 和 K-means比较 一、算法简述 KNN 可以说是最简单的分算法之一,同时,它也是最常用的分算法之一。注意:KNN 算法是有监督学习中的分算法,它看起来和另一个机器学习算法 K-means 有像(K-means 是无监督学习算法),但却是有本质区别的。 二、运行原理 2.1、算法核心思想 KNN 的全称是

qq_42448606的博客 5344

通过交叉验证寻找K近邻算法的最优K值

问题引出 之前我们使用K近邻算法尝试寻找用户年龄与预估薪资之间的某种相关性,以及他们是否有购买SUV的决定。主要代码如下: from sklearn.neighbors import KNeighborsClassifier classifier = KNeighborsClassifier(n_neighbors=5, metric='minkowski', p=2) classifier....

孙某人的博客 1万+

数据挖掘十大算法--K近邻算法

k-近邻算法是基于实例的学习方法中最基本的,先介绍基于实例学习的相关概念。 一、基于实例的学习。 1、已知一系列的训练样例,很多学习方法为目标函数建立起明确的一般化描述;但与此不同,基于实例的学习方法只是简单地把训练样例存储起来。 从这些实例中泛化的工作被推迟到必须分新的实例时。每当学习器遇到一个新的查询实例,它分析这个新实例与以前存储的实例的关系,并据此把一个目标函数值赋给新实例。 2

小硒---代码无疆 2万+

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

一、简介 K-Nearest-Neighbor 算法是一种常用的监督学习算法,它没有显式的训练过程,是‘懒惰学习’的显著代表,此学习算法仅在训练阶段将训练集保存起来,训练时间开销为0,待收到测试样本后在进行处理 二、工作机制 给定测试样本,基于某种距离度量找出训练集种与其最靠近的k个训练样本,然后基于这k个‘邻居’的信息来进行预测。 在分任务中,可使用“投票法”,即选择这k个样本中出现别最多的标记作为预测结果;在回归任务中使用“平均法”,将这k个样本的实值输出标记的平均值作为预测结果;还可以基于距离远

u010671028的博客 1141

机器学习入门(二):KNN算法和决策边界(Decision Boundary)绘制

1)KNN算法基础知识: KNN全称K Nearest Neighbor, k是指最近邻居的个数。 俗说物以聚,人以群分,我们通常判别一个人是好是坏的方式就是看他周围是一群好人还是坏人。 这个算法也是如此,假如A的周围有一堆好人,我们就认为他是个好人。即使他周围有两个坏人(干扰项),我们也不会把它当成坏人。 而人与人的关系也有远近之分,计算远近,我们就需要用距离来衡量,有时候远亲不如近邻就体现...

OldDriver1995的博客 1万+

KNN算法详解

参考:https://www.cnblogs.com/listenfwind/p/10311496.html https://www.cnblogs.com/listenfwind/p/10685192.html 1. 概述 KNN 可以说是最简单的分算法之一,同时,它也是最常用的分算法之一。注意:KNN 算法是有监督学习中的分算法,它看起来和另一个机器学习算法 K-means 有像(K-means 是无监督学习算法),但却是有本质区别的。 2. 核心思想 KNN 的全称是 K Neare.

lemonxiaoxiao的博客 6166
上一篇: 用人话讲明白聚类算法kmeans
下一篇: Python基础之基本概念(变量、注释、输入输出)
化简可得
博客等级 码龄7年 104粉丝 14原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值