python运用sklearn实现KNN分类算法


Posted in Python onOctober 16, 2019

KNN(K-Nearest-Neighbours Classiflication)分类算法,供大家参考,具体内容如下

最简单的分类算法,易于理解和实现

实现步骤:通过选取与该点距离最近的k个样本,在这k个样本中哪一个类别的数量多,就把k归为哪一类。

注意

  • 该算法需要保存训练集的观察值,以此判定待分类数据属于哪一类
  • k需要进行自定义,一般选取k<30
  • 距离一般用欧氏距离,即​ python运用sklearn实现KNN分类算法

通过sklearn对数据使用KNN算法进行分类

代码如下:

## 导入鸢尾花数据集
iris = datasets.load_iris()
data = iris.data[:, :2]
target = iris.target

## 区分训练集和测试集,75%的训练集和25%的测试集
train_data, test_data = train_test_split(np.c_[data, target])
## 训练并预测,其中选取k=15
clf = neighbors.KNeighborsClassifier(15, 'distance')
clf.fit(train_data[:, :2], train_data[:, 2])
Z = clf.predict(test_data[:, :2])
print '准确率:' ,clf.score(test_data[:, :2], test_data[:, 2])

colormap = dict(zip(np.unique(target), sns.color_palette()[:3]))
plt.scatter(train_data[:, 0], train_data[:, 1], edgecolors=[colormap[x] for x in train_data[:, 2]],c='', s=80, label='all_data')
plt.scatter(test_data[:, 0], test_data[:, 1], marker='^', color=[colormap[x] for x in Z], s=20, label='test_data')
plt.legend()
plt.show()

结果如下:

python运用sklearn实现KNN分类算法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
编写Python脚本来实现最简单的FTP下载的教程
May 04 Python
Python生成不重复随机值的方法
May 11 Python
Python使用urllib2模块实现断点续传下载的方法
Jun 17 Python
win10环境下python3.5安装步骤图文教程
Feb 03 Python
Python数据结构与算法之图结构(Graph)实例分析
Sep 05 Python
Python字典的核心底层原理讲解
Jan 24 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
Mar 01 Python
Python将字符串常量转化为变量方法总结
Mar 17 Python
python多进程(加入进程池)操作常见案例
Oct 21 Python
pytorch使用horovod多gpu训练的实现
Sep 09 Python
python如何实现word批量转HTML
Sep 30 Python
Django cookie和session的应用场景及如何使用
Apr 29 Python
python sklearn常用分类算法模型的调用
Oct 16 #Python
Python使用selenium + headless chrome获取网页内容的方法示例
Oct 16 #Python
使用python实现kNN分类算法
Oct 16 #Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
Oct 16 #Python
python可视化实现KNN算法
Oct 16 #Python
python实现KNN分类算法
Oct 16 #Python
python子线程退出及线程退出控制的代码
Oct 16 #Python
You might like
农民C键的运用技巧
2020/03/04 星际争霸
跟我学Laravel之路由
2014/10/15 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
jquery 图片缩放拖动的简单实例
2014/01/08 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
express的中间件cookieParser详解
2014/12/04 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
2015/11/19 Javascript
jQuery通过写入cookie实现更换网页背景的方法
2016/04/15 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
Augularjs-起步详解
2016/07/08 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
原生JavaScript实现的简单放大镜效果示例
2018/02/07 Javascript
关于vue编译版本引入的问题的解决
2018/09/17 Javascript
JS实现联想、自动补齐国家或地区名称的功能
2020/07/07 Javascript
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
[02:38]DOTA2 夜魇暗潮2020活动介绍官方视频
2020/11/04 DOTA
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
python3.3使用tkinter开发猜数字游戏示例
2014/03/14 Python
python读取浮点数和读取文本文件示例
2014/05/06 Python
python 循环while和for in简单实例
2016/08/16 Python
Python正则表达式匹配中文用法示例
2017/01/17 Python
Python中利用aiohttp制作异步爬虫及简单应用
2018/11/29 Python
python 爬取疫情数据的源码
2020/02/09 Python
pycharm中import呈现灰色原因的解决方法
2020/03/04 Python
CSS3田字格列表的样式编写方法
2018/11/22 HTML / CSS
优秀毕业生求职信
2014/06/05 职场文书
2014年行政助理工作总结
2014/11/19 职场文书
社区好人好事材料
2014/12/26 职场文书
新教师个人工作总结
2015/02/06 职场文书
2016年小学生清明节广播稿
2015/12/17 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
HttpClient实现表单提交上传文件
2022/08/14 Java/Android