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 break语句详解
Mar 11 Python
python字符串连接的N种方式总结
Sep 17 Python
讲解Python中运算符使用时的优先级
May 14 Python
pygame实现弹力球及其变速效果
Jul 03 Python
Python利用ElementTree模块处理XML的方法详解
Aug 31 Python
使用C++扩展Python的功能详解
Jan 12 Python
python 判断参数为Nonetype类型或空的实例
Oct 30 Python
django小技巧之html模板中调用对象属性或对象的方法
Nov 30 Python
python程序变成软件的实操方法
Jun 24 Python
python做反被爬保护的方法
Jul 01 Python
PyQt5中向单元格添加控件的方法示例
Mar 24 Python
python 基于PYMYSQL使用MYSQL数据库
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
Zend的Registry机制的使用说明
2013/05/02 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
基于jquery的动态创建表格的插件
2011/04/05 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
Angularjs的$http异步删除数据详解及实例
2017/07/27 Javascript
微信小程序之前台循环数据绑定
2017/08/18 Javascript
用Vue写一个分页器的示例代码
2018/04/22 Javascript
jsonp跨域获取数据的基础教程
2018/07/01 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
JS面向对象之多选框实现
2020/01/17 Javascript
JavaScript中window和document用法详解
2020/07/28 Javascript
linux服务器快速卸载安装node环境(简单上手)
2021/02/22 Javascript
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
Python设计模式之单例模式实例
2014/04/26 Python
Flask框架的学习指南之制作简单blog系统
2016/11/20 Python
python中字符串内置函数的用法总结
2018/09/13 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
Django Path转换器自定义及正则代码实例
2020/05/29 Python
关于多种方式完美解决Python pip命令下载第三方库的问题
2020/12/21 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
c/c++某大公司的两道笔试题
2014/02/02 面试题
平面设计师工作职责范文
2013/12/03 职场文书
领导检查欢迎词
2014/01/14 职场文书
企业内部培训方案
2014/02/04 职场文书
《我要的是葫芦》教学反思
2014/02/23 职场文书
新年联欢会主持词
2014/03/27 职场文书
商场客服专员岗位职责
2014/06/13 职场文书
2014年党总支工作总结
2014/12/18 职场文书
小学校长个人总结
2015/03/03 职场文书
2015年新教师个人工作总结
2015/10/14 职场文书
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers
Nginx配置https的实现
2021/11/27 Servers