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 相关文章推荐
一个检测OpenSSL心脏出血漏洞的Python脚本分享
Apr 10 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
Apr 24 Python
在Python web中实现验证码图片代码分享
Nov 09 Python
python实现类之间的方法互相调用
Apr 29 Python
对Python3中的print函数以及与python2的对比分析
May 02 Python
对Python3之进程池与回调函数的实例详解
Jan 22 Python
Python简单I/O操作示例
Mar 18 Python
Python中的相关分析correlation analysis的实现
Aug 29 Python
Python实现直播推流效果
Nov 26 Python
Python partial函数原理及用法解析
Dec 11 Python
python 使用shutil复制图片的例子
Dec 13 Python
Python OpenCV实现传统图片格式与base64转换
Jun 13 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
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
理解JavaScript变量作用域更轻松
2009/10/25 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
2012/12/04 Javascript
方便实用的jQuery checkbox复选框全选功能简单实例
2013/10/09 Javascript
JavaScript禁止页面操作的示例代码
2013/12/17 Javascript
js/jquery解析json和数组格式的方法详解
2014/01/09 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
js实现网页多级级联菜单代码
2015/08/20 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
JS实现的打字机效果完整实例
2016/06/20 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
2016/07/28 Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
2017/04/25 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
基于node.js实现微信支付退款功能
2017/12/19 Javascript
Vue在页面右上角实现可悬浮/隐藏的系统菜单
2018/05/04 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
2019/07/29 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
2020/10/26 Javascript
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
python使用正则表达式替换匹配成功的组
2017/11/17 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
PyCharm取消波浪线、下划线和中划线的实现
2020/03/03 Python
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
简单介绍Object类的功能、常用方法
2013/10/02 面试题
珍珠奶茶店创业计划书
2014/01/11 职场文书
会计工作决心书
2014/03/11 职场文书
个人贷款承诺书
2014/03/28 职场文书
《春到梅花山》教学反思
2014/04/16 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
五年级语文教学反思
2016/03/03 职场文书
MySQL 覆盖索引的优点
2021/05/19 MySQL
vue2实现provide inject传递响应式
2021/05/21 Vue.js
Python pyecharts案例超市4年数据可视化分析
2022/08/14 Python