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中数据解析
May 05 Python
Python对列表去重的多种方法(四种方法)
Dec 05 Python
matplotlib在python上绘制3D散点图实例详解
Dec 09 Python
浅析python协程相关概念
Jan 20 Python
Python3 replace()函数使用方法
Mar 19 Python
Python使用post及get方式提交数据的实例
Jan 24 Python
python实现银行管理系统
Oct 25 Python
Python简易计算器制作方法代码详解
Oct 31 Python
python使用 cx_Oracle 模块进行查询操作示例
Nov 28 Python
python各层级目录下import方法代码实例
Jan 20 Python
Flask处理Web表单的实现方法
Jan 31 Python
python 下载文件的几种方式分享
Apr 07 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 生成随机验证码图片代码
2010/02/08 PHP
PHP实现生成透明背景的PNG缩略图函数分享
2014/07/08 PHP
基于PHP实现的多元线性回归模拟曲线算法
2018/01/30 PHP
laravel实现简单用户权限的示例代码
2019/05/28 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
基于Jquery的表格隔行换色,移动换色,点击换色插件
2010/12/22 Javascript
jquery实现简易的移动端验证表单
2015/11/08 Javascript
学习使用AngularJS文件上传控件
2016/02/16 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
Bootstrap轮播插件简单使用方法介绍
2016/06/21 Javascript
微信小程序 loading 详解及实例代码
2016/11/09 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
jquery实现的table排序功能示例
2017/03/10 Javascript
认识less和webstrom的less配置方法
2017/08/02 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
JS插件clipboard.js实现一键复制粘贴功能
2020/12/04 Javascript
vue自定义指令实现方法详解
2019/02/11 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
2019/02/20 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
js常用正则表达式集锦
2019/05/17 Javascript
Node.js之删除文件夹(含递归删除)代码实例
2019/09/09 Javascript
js如何验证密码强度
2020/03/18 Javascript
Python 用户登录验证的小例子
2013/03/06 Python
python创建和删除目录的方法
2015/04/29 Python
CentOS安装pillow报错的解决方法
2016/01/27 Python
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
2017/05/03 Python
python爬取网页内容转换为PDF文件
2020/07/28 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
2021/01/15 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
2021/02/23 Python
Top Villas美国:豪华别墅出租和度假屋
2018/07/10 全球购物
北京泡泡网网络有限公司.net面试题
2012/07/17 面试题
管理岗位竞聘演讲稿
2014/08/18 职场文书
企业挂职心得体会
2014/09/10 职场文书
电力企业职工培训心得体会
2016/01/11 职场文书