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之关于循环的小伎俩
Oct 02 Python
Python数据结构之Array用法实例
Oct 09 Python
python计算时间差的方法
May 20 Python
Python写入数据到MP3文件中的方法
Jul 10 Python
Django框架中的对象列表视图使用示例
Jul 21 Python
Python判断两个对象相等的原理
Dec 12 Python
Python3 获取一大段文本之间两个关键字之间的内容方法
Oct 11 Python
python 读取鼠标点击坐标的实例
Dec 29 Python
python实现输入任意一个大写字母生成金字塔的示例
Oct 27 Python
Django Channel实时推送与聊天的示例代码
Apr 30 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
Nov 10 Python
使用django自带的user做外键的方法
Nov 30 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脚本的10个技巧(2)
2006/10/09 PHP
PHP实现一维数组转二维数组的方法
2015/02/25 PHP
PHP字符串中抽取子串操作实例分析
2019/06/22 PHP
Laravel 自动生成验证的实例讲解:login / logout
2019/10/14 PHP
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
JQuery 引发两次$(document.ready)事件
2010/01/15 Javascript
深入理解JavaScript系列(15) 函数(Functions)
2012/04/12 Javascript
JavaScript利用正则表达式去除日期中的-
2014/06/09 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
javascript实现图片自动和可控的轮播切换特效
2015/04/13 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
JS+CSS3模拟溢出滚动效果
2016/08/12 Javascript
判断js的Array和Object的实现方法
2016/08/29 Javascript
JavaScript 继承详解(六)
2016/10/11 Javascript
微信小程序 wxapp内容组件 text详细介绍
2016/10/31 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
详解VSCode配置启动Vue项目
2019/05/14 Javascript
Vue CL3 配置路径别名详解
2019/05/30 Javascript
如何进行微信公众号开发的本地调试的方法
2019/06/16 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
toString.call()通用的判断数据类型方法示例
2020/08/28 Javascript
微信小程序实现天气预报功能(附源码)
2020/12/10 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
浅谈Python中带_的变量或函数命名
2017/12/04 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
Java工程师面试集锦之Spring框架
2013/06/16 面试题
安全检查汇报材料
2014/12/26 职场文书
2015年三年级班主任工作总结
2015/05/21 职场文书
开国大典观后感
2015/06/04 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书
分享python函数常见关键字
2022/04/26 Python