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实现的一个自动售饮料程序代码分享
Aug 25 Python
Python字符和字符值(ASCII或Unicode码值)转换方法
May 21 Python
小小聊天室Python代码实现
Aug 17 Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
Sep 08 Python
解决Python selenium get页面很慢时的问题
Jan 30 Python
Python对象的属性访问过程详解
Mar 05 Python
Django ModelForm操作及验证方式
Mar 30 Python
解决IDEA 的 plugins 搜不到任何的插件问题
May 04 Python
Python爬虫之Selenium鼠标事件的实现
Dec 04 Python
解决python3输入的坑——input()
Dec 05 Python
Pandas直接读取sql脚本的方法
Jan 21 Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 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字符串的递增和递减示例介绍
2014/02/11 PHP
PHP curl使用实例
2015/07/02 PHP
实例讲解PHP表单处理
2019/02/15 PHP
jquery简单体验
2007/01/10 Javascript
firefox火狐浏览器与与ie兼容的2个问题总结
2010/07/20 Javascript
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
JS多物体 任意值 链式 缓冲运动
2012/08/10 Javascript
js算法中的排序、数组去重详细概述
2013/10/14 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
JavaScript判断对象是否为数组
2015/12/22 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
JavaScript驾驭网页-DOM
2016/03/24 Javascript
angular.js之路由的选择方法
2016/09/24 Javascript
jQuery实现遮罩层登录对话框
2016/12/29 Javascript
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
使用Bootstrap和Vue实现用户信息的编辑删除功能
2017/10/25 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
在Express中提供静态文件的实现方法
2019/10/17 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
2021/02/26 Vue.js
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
python3音乐播放器简单实现代码
2020/04/20 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
Python二叉树定义与遍历方法实例分析
2018/05/25 Python
Python面向对象之接口、抽象类与多态详解
2018/08/27 Python
python从list列表中选出一个数和其对应的坐标方法
2019/07/20 Python
eBay德国站:eBay.de
2017/09/14 全球购物
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
Mountain Warehouse德国官网:英国户外零售商
2019/08/11 全球购物
公司前台接待岗位职责
2015/04/03 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js