kNN分类器和Python算法实现

本文介绍了kNN分类器的基本思想,通过一个生活中的例子解释了如何利用距离判断未知个体的类别,并以Python实现了一个简单的kNN算法,涉及距离计算和数据分类。后续将探讨数据归一化等细节。
摘要由CSDN通过智能技术生成

    很早就买了机器学习这本书,由于工作上太忙一直没来得及看,最近时间比较充裕,终于拿出时间来好好研究一下这本书。从第一个算法kNN分类器开始,记录自己的学习经历。

kNN分类器和Python算法实现

    假设生活中你突然遇到一个陌生人,你对他很不了解,但是你知道他喜欢看什么样的电影,喜欢穿什么样的衣服。根据以前你的认知,你把你身边的朋友根据喜欢的电影类型,和穿什么样的衣服,简单的分为了两类,有钱的和没钱的。那你该怎么将这个陌生人分类呢?物以类聚,人以群分,你看他喜欢看的电影和穿衣服的衣服和那群人比较接近,然后你就把他归为那类人,这就是kNN算法的思想。

    那么怎么评判他和那类人比较接近呢?这就用到了“距离”的概念。首先你要把电影类型、和穿的衣服量化,转化为可以进行计算的数字量。然后计算他的[电影类型、衣服品牌]和你原来分类中其余个体的[电影类型、衣服品牌]之间的距离,从距离[d1,d2,d3....]中选取出K个最近的值,然后看这些距离中最多的分类是哪个。

    这,就是kNN分类的思想。

    首先,我们先创建一个训练样本,也就是已有的数据大类“A”和“B”,对应的点分别为A - [1.0 0.9] [1.0 1.0] 和B - [0.1 0.2 ] [0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值