Python机器学习iris数据集预处理和模型训练方式

 更新时间:2024年10月17日 10:13:42   作者:SuperYiY  
iris数据集包含150个样本,每个样本有4个特征及其类别信息,本文介绍了iris数据集的基本操作和如何使用knn模型进行花卉种类预测,是机器学习中的经典案例,适用于监督式学习

一、iris数据集简介

iris数据集的中文名是安德森鸢尾花卉数据集,英文全称是Anderson`s Iris data set。iris包含150个样本,对应数据集的每行数据。

每行数据包含每个样本的四个特征和样本的类别信息,所以iris数据集是一个150行5列的二维表。

通俗地说,iris数据集是用来给花做分类的数据集,每个样本包含了花萼长度、花萼宽度、花瓣长度、花瓣宽度四个特征(前4列),我们需要建立一个分类器,分类器可以通过样本的四个特征来判断样本属于山鸢尾(setosa)、变色鸢尾(versicolor)、维吉尼亚鸢尾(virginica)这三个名词都是花的品种。iris的每个样本都包含了品种信息,即目标属性(第5列,也叫target或label)

如图所示部分数据:

iris在机器学习中的应用:

  1. 属于监督式学习应用:根据花的四个特征预测鸢尾花卉属于(iris-setosa,iris-versicolour,iris-virginica)中的那一品种。
  2. 机器学习中经典案例,简单而具有代表性。

二、基本数据操作和模型训练

1.加载iris数据集

# iris数据集加载
from sklearn import datasets
iris = datasets.load_iris()

2.展示所有数据

#展示数据
print(iris.data
    )

3.展示每列的属性名

print(iris.feature_names)

4.展示输出目标结果以及结果的含义

print(iris.target)
print(iris.target_names)

5.查看输入和输出数据类型

print(type(iris.data))
print(type(iris.target))

6.确认行列维度

print(iris.data.shape)
print(iris.target.shape)

7.给x,y赋值

X =iris.data
Y = iris.target

8.利用knn模型进行预测结果

from sklearn.neighbors import KNeighborsClassifier
#创建实例,假设k值为1
knn = KNeighborsClassifier(n_neighbors=1)
#训练数据集模型
knn.fit(x,y)

9.给定特征的值预测花的品种

#预测某种花的品种
knn.predict([[1,2,3,4]])

得到数组的数据 “2” ,它代表的是花萼长度为1、花萼宽度为2、花瓣长度为3、花瓣宽度为4的鸢尾花卉预测结果的品种是第三种:维吉尼亚鸢尾(virginica)

#多种花的预测
x_test = [[1,2,3,4],[2,4,1,2]]
knn.predict(x_test)
`

得到数组的数据 “2” 和 “0”,它代表的是

  • 花萼长度为1、花萼宽度为2、花瓣长度为3、花瓣宽度为4的鸢尾花卉预测结果的品种是第三种:维吉尼亚鸢尾(virginica)
  • 花萼长度为2、花萼宽度为4、花瓣长度为1、花瓣宽度为2的鸢尾花卉预测结果的品种是第一种:山鸢尾(setosa)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Flask项目的部署的实现步骤

    Flask项目的部署的实现步骤

    本文主要介绍了Flask项目的部署的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Python tkinter 树形列表控件(Treeview)的使用方法

    Python tkinter 树形列表控件(Treeview)的使用方法

    这篇文章主要介绍了Python tkinter 树形列表控件(Treeview)的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 解决Python3用PIL的ImageFont输出中文乱码的问题

    解决Python3用PIL的ImageFont输出中文乱码的问题

    今天小编大家分享一篇解决Python3用PIL的ImageFont输出中文乱码的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python中正则表达式 re.findall 用法

    python中正则表达式 re.findall 用法

    在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配。本文重点给大家介绍python中正则表达式 re.findall 用法,感兴趣的朋友跟随小编一起看看吧
    2018-10-10
  • numpy判断数值类型、过滤出数值型数据的方法

    numpy判断数值类型、过滤出数值型数据的方法

    今天小编就为大家分享一篇numpy判断数值类型、过滤出数值型数据的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python 上下文管理器使用方法小结

    python 上下文管理器使用方法小结

    本文介绍了Python中的上下文管理器,以及如何结合with语句来使用上下文管理器,并且总结了一下with 语句的执行流程。在很多情况下,with语句可以简化代码,并增加代码的健壮性。
    2017-10-10
  • python的turtle库使用详解

    python的turtle库使用详解

    在本篇文章里小编给大家分享了关于python的turtle库相关知识点以及使用方法,需要的朋友们跟着学习下。
    2019-05-05
  • Python subprocess模块详细解读

    Python subprocess模块详细解读

    这篇文章主要介绍了Python subprocess模块详细解读,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • pytest生成Allure报告以及查看报告的实现

    pytest生成Allure报告以及查看报告的实现

    本文主要介绍了pytest生成Allure报告以及查看报告的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • django Serializer序列化使用方法详解

    django Serializer序列化使用方法详解

    这篇文章主要介绍了django Serializer序列化使用方法详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10

最新评论