鸢尾花的分类是python机器学习中比较经典的一个入门式教学课程,
属于监督学习算法
包括四个方面,训练,测试,评估,预测
此次记录也适合从这四个方面出发
一:训练
利用已知的鸢尾花数据构建机器学习模型,用于预测新测量的鸢尾花的品种。
鸢尾花的数据哪里来呢?有一个开源项目叫做sciket-learn,里面有鸢尾花的150个数据集。
1.1安装sciket-learn

pip install sciket-learn

1.2安装必要的工具和库文件

pip install numpy scipy matplotlib ipython pandas

直接使用命令安装上述都是默认安装最新版本的软件,我这里安装完之后的版本分别是:
pandas:0.23.4 修改和操作表格的
matplotlib:2.2.3 将数据绘制成图像的
Numpy:1.15.2 用来科学计算的,就是将数据变换成自己想要的格式
SciPy:1.1.0 功能和Numpy差不多
IPython:5.8.0 没什么用
scikit-learn:1.1.0 导入鸢尾花数据的
1.3分配数据
上代码:

#coding=utf-8
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
#导入三个库
iris_dataset = load_iris()
#加载iris_dataset数据集
trainData,testData,trainResult,testResult = train_test_split(iris_dataset["data"],iris_dataset["target"],random_state = 0)
#train_test_split函数将iris_dataset数据集中的['data']数据依据['target']标签分类为75%的训练集和25%的测试集。
#iris_dataset是一个字典类型的数据,有用6个key和对应的值,其中key分别为:['target', #'DESCR', 'target_names', 'feature_names', 'data', 'filename']
#可以尝试iris_dataset.keys()和iris_dataset.values()查看相应的数据,比如查看target_names标签对应的值可以写作:iris_dataset['target_names']

1.4构建算法

from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors = 1)
knn.fit(trainData,trainResult)
#K近邻算法:算法会在训练集中寻找与这个新数据点距离最近的k个邻居,根据他们的类别做出预测。
#这里让knn进行大量的训练,拥有大量数据的累积后,使得knn拥有了一定预测新数据类型的能力。

二:测试与评估
此时的knn今时不同往日了,训练了那么多,是时候试试水了,但是不能贸然拿去用吧,还是先用测试集测试一下,刚刚分配数据集的时候不是还分配了25%的数据用来测试吗。试一试

testPrediction = knn.predict(testData)
#testData这些数据的类型是已知的---testResult,里面包含的是testData真实的结果,我们拿预测的结果和真实结果比对一下,就可以知道这个算法的预测准确的能力了吧。试一试
print "Test set score is :{:.2f}".format(np.mean(testPrediction == testResult))
#这样可以打印出testPrediction和testResult之间的差异比例

三:预测
用一组新的数据来试一试

newIRIS = [[5,2.0,1,0.2]]
#四个数据分别代表:花萼长度,花萼宽度,花瓣长度,花瓣宽度
#为什么用两个中括号括起来呢?因为knn.predict的数据数据必须是一个二维数组
a = knn.predict(newIRIS)
print a

转载于:https://www.cnblogs.com/vijay6/p/9806568.html

python机器学习_(1)鸢尾花的分类相关推荐

  1. Python机器学习基础教程——鸢尾花分类

    Python机器学习基础教程--鸢尾花分类 初识数据 训练数据与测试数据 观察数据-数据可视化 模型的建立与评估--K近邻算法 她还有一些鸢尾花的测量数据,这些花之前已经被植物学专家鉴定为属于 set ...

  2. Python机器学习之LogisticRegression——鸢尾花分类

    Python机器学习之LogisticRegression: 鸢尾花分类问题: 鸢尾花分类及特征属性: 鸢尾花是一种多年生草本植物.sklearn.datasets.load_iris()数据集将其归 ...

  3. 00_00 python机器学习_各章实例代码汇总(随学习进度更新)

    文章目录 代码整理 第一章 001 散点图 + K邻近算法 + 模型训练 第二章 001 创建两个画布, 分别设置画布大小,然后绘图 002 K邻近算法分类 绘制散点图的决策边界 002 K邻近算法回 ...

  4. 2021-4月Python 机器学习——中文新闻文本标题分类

    试题说明 试题说明 任务描述 基于THUCNews数据集的文本分类, THUCNews是根据新浪新闻RSS订阅频道2005~2011年间的历史数据筛选过滤生成,包含74万篇新闻文档,参赛者需要根据新闻 ...

  5. 8.5 Python机器学习--微博聚类和音乐分类理论记录

    Python机器学习: 隆重推出scikit-learn机器学习库 Scikit-Learn是基于python的机器学习模块 Scikit-Learn中的机器学习模型非常丰富,包括SVM,决策树, G ...

  6. Python机器学习基础教程 鸢尾花分类

    一.数据集分析 鸢尾花数据集保存在sklearn.datasets模块中,我们可以用load_iris函数加载数据,这个函数返回的iris对象是一个Bunch对象,与字典相似,包括键和值 此处打印出i ...

  7. 01_01 python机器学习_第一章学习内容整理_加载样本数据绘制散点图

    第一章学习内容整理_加载样本数据&绘制散点图 01 常用包说明 python可以解决很多问题,相应解决方案使用的包也很多,不太好记忆. 为了便于记忆,用大白话简单描述一下各个包的功能. # 科 ...

  8. python 机器学习_基于 Python 语言的机器学习工具Sklearn

    本篇介绍了Sklearn机器学习基础,从Sklearn的简介,模块以及与tensorflow的优劣势对比来了解基于Python语言的机器学习工具.    01.Sklearn简介 sklearn(sc ...

  9. 【Python机器学习】KNN进行水果分类和分类器实战(附源码和数据集)

    需要源码和数据集请点赞关注收藏后评论区留言私信~~~ KNN算法简介 KNN(K-Nearest Neighbor)算法是机器学习算法中最基础.最简单的算法之一.它既能用于分类,也能用于回归.KNN通 ...

  10. python 机器学习_使用Python启动机器学习

    Python被认为是机器学习爱好者中最喜欢的编程语言.在之前的文章中我们讨论了造成这种现象的一些原因.牢记Python语言对机器学习的积极影响,我们开始了一系列有关使用Python启动机器学习的文章. ...

最新文章

  1. Android实例]------获取sd卡图片显示出来
  2. Li Fei-fei写给她学生的一封信,如何做好研究以及写好PAPER
  3. 实力打脸: 量子隐形传输与 “瞬间移动” 毫无关系
  4. 用杰克逊流式传输大型JSON文件– RxJava常见问题解答
  5. 2020快手用户及营销报告
  6. ROS----窃听小乌龟行动计划
  7. 服务器屏蔽非法app请求
  8. 未找到具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序的实体框架 解决方案...
  9. android自定义矩形框,Android中ImageCropper矩形、圆形 裁剪框的实现方法
  10. python set_Python的set集合详解
  11. 金山PDF转WOED 1.3.0.1007版本
  12. 创建ArrayList对象,添加5个元素,使用Iterator遍历输出
  13. IDEA更换背景图片
  14. 计算机毕业设计Java后勤管理系统(源码+系统+mysql数据库+lw文档)
  15. lg g pro 2android,4K录制+OIS Plus镜头 LG G Pro 2曝光
  16. Aaron Kwok
  17. AutoIt软件说明
  18. 许家印的新战略 恒大的新未来
  19. c语言程序设计素材,C语言设计素材.doc
  20. 安卓开发中布局加载器(LayoutInflater)的使用

热门文章

  1. 成熟的Richardson模型
  2. 【渝粤教育】国家开放大学2018年秋季 0676-22T物流成本管理 参考试题
  3. 【渝粤题库】陕西师范大学210009幼儿园健康教育作业(高起专)
  4. bzoj3482: [COCI2013]hiperprostor
  5. 页面中,通过css设置文本不能被选中
  6. Java笔记 —— 继承
  7. 【转】宝贝,我要出嫁了……
  8. Luogu P3223 [HNOI2012]排队 组合
  9. springboot情操陶冶-web配置(六)
  10. BZOJ - 2819 Nim