杜说机器学习: KNN帮你找到高富帅

KNN(K-Nearest Neighbor)是机器学习中一种基础的数据分类算法,这里我通过一个故事来给大家明白它到底有什么用。
从一个笑话开始。
相亲时,姑娘很漂亮,问小伙子:你有三室两厅的楼房么?
小伙子:没有。
姑娘又问:有宝马5么?
小伙子:没有。
姑娘很不高兴:那算了。
相亲结束。小伙子很沮丧,回去跟父母说了这事。
父亲愁眉苦脸:车好说,把咱的宾利卖了能买好几两宝马,
可是咱犯不上为了这事把咱的大别墅换成三室两厅的楼房啊。

在这个笑话里姑娘的相亲匹配算法有问题,太粗暴,太简单,并且没有把相亲标准数据化,标准定制的太笼统了。
不应该定三室两厅的标准,应该是看房子的大小,平米数。
也不能把车的标准定成上面品牌的车,应该看车子的价格。
导致错过了一段大好姻缘。
假如姑娘用KNN算法,来挑选相亲对象,那么她一定不会犯上面那样的错误。
我们来用KNN算法帮姑娘找到理想的结婚对象。
一般姑娘的相亲对象分为三类:

A(特别满意,恨不得明天就去领证),

B(感觉一般,可以相处一段时间再看看),

C(不满意,以后不想再联系)。

而判断相亲对象类型的标准2条,房子大小,车辆价格。

下面是几个别人家姑娘的男朋友的数据,我们这里作为参考(也叫样本数据):
在这里插入图片描述
现在有个相亲对象,赵大平,情况是这样房子100平,车30万,

那他应该是什么类型的相亲对象那?
我们来计算一下他和上面的样本数据之间的差距(也叫距离),

这里我们使用曼哈顿距离(啥叫曼哈顿距离,百度)

在这里插入图片描述

那我们对上面的数据按从小到大排个序:

在这里插入图片描述
这里我们取前4个男生(当然也可以取3个,取5个,取的少不准,取的多准确,但是复杂,一般不超过20):
李有财(B类型),王小明(B类型),刘没钱(C类型),高很富(B类型)。
在这前4个距离赵大平最近的男生里,B类型的最多(3/4,也就是75%),
C类型的少(1/4,也就是25%)。
那么我们就取占比最大的类型,也认为赵大平是B类型的,可以处处。

这就是KNN算法。

也有同学会问:这么麻烦干嘛,姑娘以前的标准是简单,但是你的也太麻烦了,又是样本数据,又是排序的。能不能划分区间啊,房子大于500平米的特别满意,500平米到90平米的可以处处,不到90平米的PASS不行,这多简单。

但是现实情况比较复杂,好多事没有确定的边界。你设定90为边界,那来个89的那?按照区间的划分,这个就PASS掉了,可实际情况90和89差不多。没法子划区间。

下面可以关注下杜说机器学习的公众号:
关注杜说机器学习的公众号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值