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 相关文章推荐
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
Jun 12 Python
Python3实现的字典遍历操作详解
Apr 18 Python
PyQt5 QSerialPort子线程操作的实现
Apr 21 Python
python re库的正则表达式入门学习教程
Mar 08 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
Jul 23 Python
Python动态强类型解释型语言原理解析
Mar 25 Python
Python日志:自定义输出字段 json格式输出方式
Apr 27 Python
Python多线程thread及模块使用实例
Apr 28 Python
python db类用法说明
Jul 07 Python
Python logging日志模块 配置文件方式
Jul 12 Python
Python使用pickle进行序列化和反序列化的示例代码
Sep 22 Python
Python的logging模块基本用法
Dec 24 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+mysql实现数据库随机重排实例
2014/10/17 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
Yii使用技巧大汇总
2015/12/29 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
JavaScript网页定位详解
2014/01/13 Javascript
javascript中style.left和offsetLeft的用法说明
2014/03/07 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
2014/10/17 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
JS自动生成动态HTML验证码页面
2017/06/14 Javascript
基于 Vue 的树形选择组件的示例代码
2017/08/18 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
2018/01/21 jQuery
微信小程序实践之动态控制组件的显示/隐藏功能
2018/07/18 Javascript
vue 实现动态路由的方法
2020/07/06 Javascript
[13:39]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第一场
2014/05/26 DOTA
Python实现的简单万年历例子分享
2014/04/25 Python
用Python输出一个杨辉三角的例子
2014/06/13 Python
Python文件操作类操作实例详解
2014/07/11 Python
Python使用爬虫爬取静态网页图片的方法详解
2018/06/05 Python
Python正则表达式和元字符详解
2018/11/29 Python
python变量赋值方法(可变与不可变)
2019/01/12 Python
浅析python,PyCharm,Anaconda三者之间的关系
2019/11/27 Python
Scrapy 配置动态代理IP的实现
2020/09/28 Python
使用pandas实现筛选出指定列值所对应的行
2020/12/13 Python
专门出售各种儿童读物的网站:Put Me In The Story
2016/08/07 全球购物
九年级家长会邀请函
2014/01/15 职场文书
捐资助学倡议书
2014/04/15 职场文书
建筑安全标语
2014/06/07 职场文书
关于国庆节的演讲稿
2014/09/05 职场文书
母亲节寄语大全
2015/02/27 职场文书
红与黑读书笔记
2015/06/29 职场文书
2016年暑假家长对孩子评语
2015/12/01 职场文书
http通过StreamingHttpResponse完成连续的数据传输长链接方式
2022/02/12 Python
css3 选择器
2022/05/11 HTML / CSS