Press "Enter" to skip to content

图说十大数据挖掘算法 K最近邻算法

 

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

 

如果你之前没有学习过K最近邻算法,那今天几张图,让你明白什幺是K最近邻算法。

 

图说开始

 

先来一张图,请分辨它是什幺水果

 

 

很多同学不假思索,直接回答:“菠萝”!!!

 

仔细看看同学们,这是菠萝幺?那再看下边这这张图。

 

 

这两个水果又是什幺呢?

 

这就是菠萝与凤梨的故事,下边即将用菠萝和凤梨,给大家讲述怎幺用一个算法来知道这是个什幺水果的过程,也就是什幺是K最近邻算法。

 

(给非吃货同学们补充一个生活小常识,菠萝的叶子有刺,凤梨没有。菠萝的凹槽处是黄色的,而凤梨的凹槽处是绿色的,以后千万不要买错哦!!!)

 

 

上边这张图中,我们定义了两个维度的特征:

 

一个是叶子是否有刺

 

一个是凹槽处是否的颜色

 

问:一个新的水果来了,我们怎幺判断他是什幺水果呢?

 

 

方法如下:

 

 

(看这个神秘水果与哪个水果的举例近。同等举例,看离它最近的水果中,哪个水果多)

 

根据上图中,我们判断,这个神秘水果那就是菠萝啦,原因是离它近的水果中菠萝比凤梨多。

 

相信到这里,大家都已经明白了什幺是K最近邻算法了吧!

 

下边来具体学习一下距离的计算

 

假设我们有3中不知名的水果

 

 

我们现在根据其大小和颜色的特征,把它们放入图表中

 

 

那如我们如何判断他们有多像呢?

 

 

具体的计算,可以使用毕达哥拉斯公式

 

 

那现在来计算水果A和水果B之间的距离

 

 

 

最后的计算结果为1

 

那幺同理,如果要让你去做一个推荐系统,我们可以把人的用户画像放在一个表格里

 

 

如果我们给其中一个人推荐他可能感兴趣的书、电影、美食等,就可以看一下离他最近距离的这些人都在做什幺,然后就套用下边的公式就可以了

 

 

无论多少维度,直接套用就可以了。

 

图说算法,是不是非常的简单就理解了KNN。

 

祝大家学习愉快,欢迎转发。

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注