Python——KNN实战(附详细代码与注解)
估计各位绅士都看过我之前的KNN算法博文(嘿嘿≧◔◡◔≦,假装大家都看过),应广大博客朋友们的要求,本次博主来开车讲解如何做一个KNN分类器实现将iris数据集进行分类。关于KNN的相关知识请看机器学习——KNN及代码实现
滴滴,各位绅士请尽快上车,本次的目的地幼儿园。\ (•◡•) /,你懂的!!!
前提准备
各位绅士都上车了吧!好的,博主要将车门焊死了,不到幼儿园谁都别下车。≧◠◡◠≦✌
为了安全食用本次教程,需要准备如下:
Jupyter notebook 或 Pycharm(建议使用Jupyter notebook)
火狐浏览器或谷歌浏览器
win7或win10电脑一台
需求分析
运用经典的KNN模型对iris数据集(该数据无需下载,在scikit-learn中自带一些像iris一样的经典数据集,后面代码中会提到)进行分类。
话不多说,各位乘客坐稳了,老司机要开车了,python代码如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from sklearn import datasets #从sklearn模块中导入datasets
from sklearn.neighbors import KNeighborsClassifier #导入K近邻算法
from sklearn.metrics import classification_report #导入classification_report的作用是用于显示主要分类指标的文本报告,在报告中显示每个类的精确度
from sklearn.model_selection import train_test_split #导入train_test_split的作用是为了制作训练数据(training samples)和测试数据(testing samples)
import numpy as np iris = datasets.load_iris() #加载datasets中的iris数据集,此数据集已封装好,无需任何读取文件操作(trainData,testData,trainLabels,testLabels) = train_test_split(np.array(iris.data),iris.target,test_size=0.33,random_state=0) #调用train_test_split(),用法下面会讲print('training data points:{}'.format(len(trainLabels))) #输出训练集数目
print('testing data points:{}'.format(len(testLabels))) #输出测试集数目model = KNeighborsClassifier(n_neighbors=19)
model.fit(trainData,trainLabels)
predictions = model.predict(testData)
#这是整个算法核心的部分,分三步,1.创建KNeighborsClassifier对象 2.调用fit函数 3.调用predict函数进行预测print("EVALUATION ON TESTING DATA")
print(classification_report(testLabels,predictions))
效果展示
在Jupyter notebook中运行效果如下:
几个重点
1、scikit-learn是python重要的机器学习库,scikit-learn简称sklearn,支持包括分类、回归、降维、聚类四大机器学习算法,还包括特征提取、数据处理和模型评估三大模块。
2、sklearn.model_selection.train_test_split 用法:为了制作训练数据(training samples)和测试数据(testing samples),参数分别表示train_data:被划分的样本特征集、train_target:被划分的样本标签、test_size:如果是浮点数,在0-1之间,表示样本占比;如果是整数的话就是样本的数量、random_state:是随机数的种子。随机数种子:其实就是该组随机数的编号,在需要重复试验的时候,保证得到一组一样的随机数。比如你每次都填1,其他参数一样的情况下你得到的随机数组是一样的。但填0或不填,每次都会不一样。
3、在使用sklearn进行机器学习算法预测测试数据时,常用classification_report函数来进行测试的准确率的计算,相关知识鄙人会在后续博文中专门讲解。
【附】:iris数据集下载链接
Python——KNN实战(附详细代码与注解)相关推荐
- Python——EM(期望极大算法)实战(附详细代码与注解)(二)
开始之前 各位朋友,大家好!针对上回讲的EM算法,有朋友反馈还是没弄清楚,今天,我再来详细的讲一下EM算法.请耐心食用本教程,滴滴滴~,上车! 前提准备 Jupyter notebook 或 Pych ...
- Python——EM(期望极大算法)实战(附详细代码与注解)(一)
开始之前 各位朋友大家好!今天我将带大家撸EM算法代码,在撸之前(呵呵,可别乱想≧◔◡◔≦),我们首先讲清楚什么是EM算法?为什么要用EM算法?.在这里我简要的介绍一下,大家都知道极大似然估计吧(至少 ...
- Python——KMeans(k均值聚类)实战(附详细代码与注解)
开始之前 各位朋友周末好,今天博主小码将开车≥Ö‿Ö≤为大家用代码实战讲解KMeans聚类,请大家坐稳了≡(▔﹏▔)≡.作为机器学习的十大经典算法之一,聚类的相关现实应用非常之广,如图像分割,文本分类 ...
- 用python求期望_Python——EM(期望极大算法)教学(附详细代码与注解)
今天,我们详细的讲一下EM算法. 前提准备 Jupyter notebook 或 Pycharm 火狐浏览器或谷歌浏览器 win7或win10电脑一台 网盘提取csv数据 需求分析 实现高斯混合模型的 ...
- 用html实现抽奖大转盘,【项目实战】用CSS实现一个抽奖转盘(附详细代码+思路)...
原标题:[项目实战]用CSS实现一个抽奖转盘(附详细代码+思路) 效果 基本是用CSS实现的,没有用图片,加一丢丢JS. 完全没有考虑兼容性. 首先画一个转盘 < htmllang= " ...
- Opencv+Python学习记录9:掩膜(掩码)的使用(内附详细代码)
一,基本概念 OpenCV中的很多函数都会指定一个掩模,也被称为掩码,例如: 计算结果=cv2.add(参数1,参数2,掩模) 当使用掩模参数时,操作只会在掩模值为非空的像素点上执行,并将其他像素点的 ...
- hfss和python_利用Python与HFSS联合仿真设计一个微带天线(附详细代码)
原标题:利用Python与HFSS联合仿真设计一个微带天线(附详细代码) 我们知道HFSS是一款电磁仿真商用软件,用其进行天线的设计十分方便.而该软件也预留了可以运行脚本的接口,使用者可以使用脚本对软 ...
- python爬取二手房信息_刚刚接触PythonR?教你爬取分析赶集网北京二手房数据(附详细代码)...
原标题:刚刚接触Python&R?教你爬取分析赶集网北京二手房数据(附详细代码) 源 /数据森麟文 /徐涛 前言: 本文主要分为两部分:Python爬取赶集网北京二手房数据&R对爬取的 ...
- python最强实训程序(增删改查)机房收费管理系统-基于tkinter的图形化界面(附详细代码)
python最强实训程序(增删改查)机房收费管理系统-基于tkinter的图形化界面(附详细代码) 最近学校实训,用两天时间做了一个python小程序*机房收费管理系统*,一款基于tkinter使用p ...
最新文章
- MapReduce框架Mapper和Reducer类源码分析
- html2Escape js 转义
- js中字符串转换为数字
- Sap权限相关设置、控制及传输
- html 窗口页面设置
- wpf page 界面渲染完成后执行自动操作_Vue项目骨架屏自动生成方案(dps)
- Vue-cli项目中路由的基础用法,以及路由嵌套
- centos java创建文件_CentOS java生成文件并赋予权限的问题
- java调用百度地图API依据地理位置中文获取经纬度
- NI 视觉入门软件介绍
- PLC控制电机正反转原理图
- 值得收藏!深度报告解读NB-IoT
- max30102c语言程序,MAX30102基于STM32F103C8T6的程序源码
- 医疗his系统的优势
- 给学习iOS开发同学的建议
- Python Computer Vision Programming学习笔记(二)——基本的图像操作与处理
- java eclipse导入工程文件_如何在Eclipse软件中导入Java工程文件
- TSINGSEE青犀视频云-边-端架构视频智能分析平台EasyNVR如何实现直播地址和录像地址统一
- 水文预报 求各个年份的纳什效率系数
- symfony权威指南学习之一:symfony 介绍
热门文章
- 【数据结构笔记18】堆中的路径与C实现(堆元素到根的路)径)
- 【数据结构笔记17】集合的表示、双亲表示法、并查集、集合的并运算
- python表示语句块采用_Python学习日记
- BIEE叙述图导航实例
- 全新安装2008操作系统和2008 server core核心安装
- 三刺激值计算公式_超实用的数控车床常用计算公式,绝对帅,赶紧收藏了!
- 根据IP定位用户所在城市信息
- CDays–5 习题二(利用Python科学计算特性,使用常用计算符)及相关内容解析。...
- 西部动力成功中标围场县政府网站群建设项目
- 重庆地方税务局报税客户端升级导致的问题