当前位置: 首页 > article >正文

数据分类问题-鸢尾花数据集

鸢尾花(Iris)简介

鸢尾花是一种常见的单子叶植物,属于百合目,常见于公园等地。由于其品种繁多,了解鸢尾花的种类识别数据集将有助于在社交场合中展示你的知识。

鸢尾花数据集的重要性

鸢尾花数据集是模式识别和机器学习领域中使用最广泛的数据集之一。许多教材和工具(如 R 和 scikit-learn)都内置了该数据集,学术界也有大量论文基于此数据进行实验,显示出其在研究中的重要性。

数据来源与背景

鸢尾花数据集最初由 Edgar Anderson 测量,并在著名统计学家和生物学家 R.A. Fisher 于 1936 年发表的文章《The use of multiple measurements in taxonomic problems》中被引用,作为线性判别分析的例子。这使得该数据集在机器学习领域广为人知。

数据集中两类鸢尾花的记录是在加拿大加斯帕半岛的同一天、同一时间段,由同一人使用相同的测量仪器在同一牧场测量而得。这份数据已有 70 年历史,尽管年代久远,但依然经典,详细数据集可在 UCI 数据库中找到。

数据集详情

鸢尾花数据集包含三类鸢尾花:Setosa、Versicolour 和 Virginica,每类各有 50 条样本记录,共计 150 条。数据集包括四个属性:

  • 花萼长度
  • 花萼宽度
  • 花瓣长度
  • 花瓣宽度

所有属性的单位均为厘米,且均为数值变量,数据中不存在缺失值。以下是各属性的统计信息:

属性最大值最小值均值方差
萼长7.94.35.840.83
萼宽4.42.03.050.43
瓣长6.91.03.761.76
瓣宽2.50.11.200.76

数据探索

在进行任何机器学习任务之前,了解数据集的基本情况至关重要。这包括数据的背景、量级、缺失值情况、数据类型及各属性的统计指标。常用的统计指标包括:

  1. 频率和众数:用于无序分类数据,众数为最高频率的值。
  2. 百分位数:针对有序数据,计算各属性的 10、25、50、75、90 等百分位数。
  3. 位置度量:如均值和中位数。
  4. 散布度量:使用极差和方差描述连续数据属性。可用绝对平均偏差、中位数绝对偏差和四分位数极差等指标来度量。
  5. 多元属性的散布度量:可独立计算各属性的散布度量,连续变量通常使用协方差表示。

数据探索不仅需要汇总统计,适当的可视化也能提供直观的信息。Python 提供了强大的工具来进行数据探索,使用 NumPy 进行统计计算,使用 Matplotlib 进行可视化。

常见的可视化技术包括直方图、盒图、饼图、散点图和百分位数图。以下是萼长和萼宽属性的散点图示例:

需要按照一些依赖:

pip install matplotlib scikit-learn
from matplotlib import pyplot
from sklearn.datasets import load_iris

iris = load_iris()
setosa_sepal_len = iris.data[:50, 0]
setosa_sepal_width = iris.data[:50, 1]

versi_sepal_len = iris.data[50:100, 0]
versi_sepal_width = iris.data[50:100, 1]

vergi_sepal_len = iris.data[100:, 0]
vergi_sepal_width = iris.data[100:, 1]

pyplot.scatter(setosa_sepal_len, setosa_sepal_width, marker = 'o', c = 'b',  s = 30, label = 'Setosa')
pyplot.scatter(versi_sepal_len, versi_sepal_width, marker = 'o', c = 'r',  s = 50, label = 'Versicolour')
pyplot.scatter(vergi_sepal_len, vergi_sepal_width, marker = 'o', c = 'y',  s = 35, label = 'Virginica')
pyplot.xlabel("sepal length") # 花萼长度 (cm)
pyplot.ylabel("sepal width") # 花萼宽度 (cm)
pyplot.title("sepal length and width scatter") # 花萼长度与宽度散点图
pyplot.legend(loc = "upper right")
pyplot.show()

可以绘制出鸢尾花的萼长和萼宽的散点图,帮助更好地理解数据的分布情况。


http://www.kler.cn/a/411584.html

相关文章:

  • 电商项目高级篇06-缓存
  • 如何使用GCC手动编译stm32程序
  • 第R4周:LSTM-火灾温度预测(TensorFlow版)
  • CANopen多电机控制的性能分析
  • 【AI绘画】Midjourney进阶:色调详解(上)
  • 1-golang_org_x_crypto_bcrypt测试 --go开源库测试
  • vscode查找函数调用
  • 路面泥泞,坑洼,裂缝,路面损坏,马路牙检测 YOLO标记资源整理
  • CSS之3D转换
  • C++软件设计模式之组合模式与其他模式的协作举例
  • 【Linux】Linux系统电源状态
  • go语言逆向-基础basic
  • Linux下一次性关闭多个同名进程
  • 数字图像处理(6):除法运算、除法器
  • 【C++知识总结1】c++第一篇,简单了解一下命名空间是什么
  • C++设计模式之组合模式中适用缓存机制提高遍历与查找速度
  • lc 146. LRU 缓存
  • 【系统架构设计师】真题论文: 论软件系统架构评估(包括解题思路和素材)
  • HDR视频技术之四:HDR 主要标准
  • 跨子网通信的具体流程
  • 【后端面试总结】MySQL索引
  • 学习日记_20241126_聚类方法(聚合聚类Agglomerative Clustering)
  • 构建与优化数据仓库-实践指南
  • ES6的第四天
  • huggingface使用
  • 【C++】读取数量不定的输入数据