【数据挖掘算法系列(一)】k-近邻(KNN)算法

本文介绍了k-近邻(KNN)算法,通过一个投票的例子阐述了KNN的基本思想和距离计算原理。文章还探讨了KNN的数学理论,包括欧几里得距离,并通过代码实现了一个简单的KNN案例。文章强调理解算法背后的理论对灵活运用机器学习框架的重要性。
摘要由CSDN通过智能技术生成

开言

从本篇起,将开始我们的机器学习算法系列文章。

机器学习算法的作用不言而喻,是数据挖掘的核心部分也是比较难的一部分。但是别担心,跟着文章一步步来。

现在网上有很多现有的机器学习框架,例如scikit-learn,很方便,直接调用就可以。那我们为什么还要费时间学习这些算法的原理呢? 因为如果不懂得这些算法背后的理论,逻辑,可以很肯定的说你将无法灵活运用这些框架。

本系列文章力争将这些算法原理,重点,应用描述得简单易懂,深入浅出。那就让我们开始吧。

k-近邻(KNN)

从最简单的 K 最近邻(kNN,k-NearestNeighbor)开始。为什么说它最简单呢。因为,不需要高深的数学知识,而且直观易懂。

下面我们通过一个场景代入来了解 KNN 的原理。 相信我们都投过票,最后我们选出的结果是不是票数最高的那个。 投票的结果决策依据便是多数表决法,这也是 KNN 的底层思想。

现在有5个日本男生和5个韩国男生,然后第十一个男生的国籍是未知的,我们叫他为 Tony ,需要你来判断他是来自韩国还是日本的。经过我们对头发,身份,五官等特征的比对,发现跟 Tony 比较像的5个人里,有4个是韩国人,1个是日本人,那我们是不是可以说,Tony是韩国人的概率大一点,从而初步判定他是韩国人。

前面我们判断 Tony 是哪国人用的方法,其实就是我们今天要讲 KNN 算法。 KNN 的原理就是通过当前对象跟已知类别对象对比,选取最像的前 k 个对像,看看这 k 个对象中哪个类别最多,就认为这个对象就是 这个类别,从而得出这个未知对象的类别。是不是很简单?

那么怎么判断像不像呢?根据对象之间的距离大小来判断。

数学理论

前面我们已经了解了 KNN 算法的基本思想,下面我们来通过数学理论来解决 ‘多像’ 的问题,也就是如何计算对象之间的距离。

计算对象之间的距离,有很多公式,比如欧拉距离,这是最简单的,是我们初中学的。除此之外还有曼哈顿距离,闵可夫斯基距离等,本文只用欧拉距离。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值