估计各位绅士都看过我之前的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实战(附详细代码与注解)相关推荐

  1. Python——EM(期望极大算法)实战(附详细代码与注解)(二)

    开始之前 各位朋友,大家好!针对上回讲的EM算法,有朋友反馈还是没弄清楚,今天,我再来详细的讲一下EM算法.请耐心食用本教程,滴滴滴~,上车! 前提准备 Jupyter notebook 或 Pych ...

  2. Python——EM(期望极大算法)实战(附详细代码与注解)(一)

    开始之前 各位朋友大家好!今天我将带大家撸EM算法代码,在撸之前(呵呵,可别乱想≧◔◡◔≦),我们首先讲清楚什么是EM算法?为什么要用EM算法?.在这里我简要的介绍一下,大家都知道极大似然估计吧(至少 ...

  3. Python——KMeans(k均值聚类)实战(附详细代码与注解)

    开始之前 各位朋友周末好,今天博主小码将开车≥Ö‿Ö≤为大家用代码实战讲解KMeans聚类,请大家坐稳了≡(▔﹏▔)≡.作为机器学习的十大经典算法之一,聚类的相关现实应用非常之广,如图像分割,文本分类 ...

  4. 用python求期望_Python——EM(期望极大算法)教学(附详细代码与注解)

    今天,我们详细的讲一下EM算法. 前提准备 Jupyter notebook 或 Pycharm 火狐浏览器或谷歌浏览器 win7或win10电脑一台 网盘提取csv数据 需求分析 实现高斯混合模型的 ...

  5. 用html实现抽奖大转盘,【项目实战】用CSS实现一个抽奖转盘(附详细代码+思路)...

    原标题:[项目实战]用CSS实现一个抽奖转盘(附详细代码+思路) 效果 基本是用CSS实现的,没有用图片,加一丢丢JS. 完全没有考虑兼容性. 首先画一个转盘 < htmllang= " ...

  6. Opencv+Python学习记录9:掩膜(掩码)的使用(内附详细代码)

    一,基本概念 OpenCV中的很多函数都会指定一个掩模,也被称为掩码,例如: 计算结果=cv2.add(参数1,参数2,掩模) 当使用掩模参数时,操作只会在掩模值为非空的像素点上执行,并将其他像素点的 ...

  7. hfss和python_利用Python与HFSS联合仿真设计一个微带天线(附详细代码)

    原标题:利用Python与HFSS联合仿真设计一个微带天线(附详细代码) 我们知道HFSS是一款电磁仿真商用软件,用其进行天线的设计十分方便.而该软件也预留了可以运行脚本的接口,使用者可以使用脚本对软 ...

  8. python爬取二手房信息_刚刚接触PythonR?教你爬取分析赶集网北京二手房数据(附详细代码)...

    原标题:刚刚接触Python&R?教你爬取分析赶集网北京二手房数据(附详细代码) 源 /数据森麟文 /徐涛 前言: 本文主要分为两部分:Python爬取赶集网北京二手房数据&R对爬取的 ...

  9. python最强实训程序(增删改查)机房收费管理系统-基于tkinter的图形化界面(附详细代码)

    python最强实训程序(增删改查)机房收费管理系统-基于tkinter的图形化界面(附详细代码) 最近学校实训,用两天时间做了一个python小程序*机房收费管理系统*,一款基于tkinter使用p ...

最新文章

  1. MapReduce框架Mapper和Reducer类源码分析
  2. html2Escape js 转义
  3. js中字符串转换为数字
  4. Sap权限相关设置、控制及传输
  5. html 窗口页面设置
  6. wpf page 界面渲染完成后执行自动操作_Vue项目骨架屏自动生成方案(dps)
  7. Vue-cli项目中路由的基础用法,以及路由嵌套
  8. centos java创建文件_CentOS java生成文件并赋予权限的问题
  9. java调用百度地图API依据地理位置中文获取经纬度
  10. NI 视觉入门软件介绍
  11. PLC控制电机正反转原理图
  12. 值得收藏!深度报告解读NB-IoT
  13. max30102c语言程序,MAX30102基于STM32F103C8T6的程序源码
  14. 医疗his系统的优势
  15. 给学习iOS开发同学的建议
  16. Python Computer Vision Programming学习笔记(二)——基本的图像操作与处理
  17. java eclipse导入工程文件_如何在Eclipse软件中导入Java工程文件
  18. TSINGSEE青犀视频云-边-端架构视频智能分析平台EasyNVR如何实现直播地址和录像地址统一
  19. 水文预报 求各个年份的纳什效率系数
  20. symfony权威指南学习之一:symfony 介绍

热门文章

  1. 【数据结构笔记18】堆中的路径与C实现(堆元素到根的路)径)
  2. 【数据结构笔记17】集合的表示、双亲表示法、并查集、集合的并运算
  3. python表示语句块采用_Python学习日记
  4. BIEE叙述图导航实例
  5. 全新安装2008操作系统和2008 server core核心安装
  6. 三刺激值计算公式_超实用的数控车床常用计算公式,绝对帅,赶紧收藏了!
  7. 根据IP定位用户所在城市信息
  8. CDays–5 习题二(利用Python科学计算特性,使用常用计算符)及相关内容解析。...
  9. 西部动力成功中标围场县政府网站群建设项目
  10. 重庆地方税务局报税客户端升级导致的问题