KNN(K最近邻)分类算法个人总结

本文是作者关于K最近邻(KNN)分类算法的学习总结,适合机器学习初学者。内容涵盖KNN定义、算法原理、距离公式、算法步骤、Python实现的电影类别分类实例以及手写数字识别的应用。通过实例展示了KNN算法在实际问题中的应用,并讨论了算法的优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近刚刚开始入门机器学习,打算把学过的东西做一个总结,以便日后的查阅。本人还属于小白阶段,这篇总结难免会出现错误,新手上路,请大佬多多指教。

KNN定义

K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。

KNN算法原理

算法简介

用官方的话来说,所谓K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例, 这K个实例的多数属于某个类,就把该输入实例分类到这个类中。

下面看一个简单的例子:
在这里插入图片描述
如图所示,红色和蓝色是已经确定的两个类,现在要计算黄色的属于哪一类?
根据上面的介绍,当k取3的时候,最接近的三个点中有两个都属于蓝色类,所以我们可以得出,黄色的点属于蓝色的可能性最大。

距离公式

常见的距离公式计算为欧式距离,欧式距离就是计算两点之间的长度,如上面的例子,两点间的距离可以表示成:

d = ( x 1 − y 1 ) 2 + ( x 2 − y 2 ) 2 . d = \sqrt{(x_{1}-y_{1})^{2}+(x_{2}-y_{2})^{2}}. d=(x1y1)2+(x2y2)2 .
扩展到n维向量,距离表示为:
d = ∑ i = 1 N ( x i 1 − y i 1 ) 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值