美文网首页
杜说机器学习: KNN帮你找到高富帅

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

作者: 杜说机器学习 | 来源:发表于2019-02-16 15:28 被阅读0次

    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差不多。没法子划区间。

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

    相关文章

      网友评论

          本文标题:杜说机器学习: KNN帮你找到高富帅

          本文链接:https://www.haomeiwen.com/subject/zkzbeqtx.html