前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python实现K近邻算法案例

python实现K近邻算法案例

作者头像
叶子陪你玩
发布2022-09-26 14:32:07
4200
发布2022-09-26 14:32:07
举报

K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。

该方法的思路是:在特征空间中,如果一个样本附近的k个最近(即特征空间中最邻近)样本的大多数属于某一个类别,则该样本也属于这个类别。

下面这幅图假设蓝色正方形表示喜欢python编程语言,红色三角形表示喜欢Java语言。

根据前面讲的KNN算法原理,猜猜绿色圆形可能喜欢哪种编程语言?

答案:Java,图形中表示的K=3,3个邻居中,2个都是喜欢Java,那么我就推断绿色的也喜欢Java。

既然是预测,肯定就不是百分百的,只是根据现有数据进行预测。


有一份保存了各地所喜欢的编程语言数据。

每一条数据包含了 经度,纬度,以及对应喜欢的语言。

我们的任务是,根据这份数据,实现一个预测模型,当给一个新的经度纬度 数据点,可以输出预测的语言。

预测结果:


加载数据:

加载好后,首先定义一个可以求两点距离的方法:

结果值越小,表示两者越近,也就是越相似(很多相似性都是通过类似的方法来判定的,比如图片相似性,可以用来搜索图片,还有推荐功能等)。

然后定义一个可以预测的方法 knn_classify,k 表示几个邻居,label_points 表示提供训练的数据,new_point 是待预测的点。

最后就可以使用了。


为了看的更加清楚,可以放到图表中显示。

原来的数据点,分别使用红绿蓝标出,黑色是预测的点。

代码语言:javascript
复制
(全文完)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-05-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 叶子陪你玩编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档