Python-鸢尾花数据集Iris 数据可视化 :读取数据、显示数据、描述性统计、散点图、直方图、KDE图、箱线图

article/2025/11/10 15:17:05

本博客运行环境为Jupyter Notebook、Python3。使用的数据集是鸢尾花数据集(Iris)。主要叙述的是数据可视化。
IRIS数据集以鸢尾花的特征作为数据来源,数据集包含150个数据集,有4维,分为3 类,每类50个数据,每个数据包含4个属性,是在数据挖掘、数据分类中常用的测试集、训练集。

读取数据包括sklearn库引入和读取.csv文件保存的数据集。
显示数据包括显示具体数据、查看整体数据信息、描述性统计。
数据可视化包括散点图、直方图、KDE图、箱线图。

目录

    • 读取数据
    • 显示数据
    • 数据可视化

读取数据

从sklearn库中读取:(我使用的是该种办法)
,因为文件运行起来总缺少一组数据,可文件本身打开显示数据是完整的,这个问题我还未解决。如有知道的同学欢迎帮忙指点一下。 此问题已解决,如有问题的小伙伴可以将文件读取改为这句代码!Iris = pd.read_csv(r’Iris.csv’,header = None)

from sklearn import datasets
import pandas as pdiris_datas = datasets.load_iris()

从文件中读取:
路径应该更为相应的的文件存储路径。

import pandas as pd
#Iris = pd.read_csv('iris.csv')
Iris = pd.read_csv(r'Iris.csv',header = None)

显示数据

显示所有数据:

print(iris_datas.data) # 数据集中的数据
print(iris_datas.target_name) #  iris的种类

运行结果如下:
在这里插入图片描述
读取前五行数据

iris = pd.DataFrame(iris_datas.data, columns=['SpealLength', 'Spealwidth', 'PetalLength', 'PetalLength'])iris.shape
iris.head()

运行结果如下:
SepaLengthCm: 花萼长度, 单位cm;SepalWidthCm: 花萼宽度, 单位cm;PetalLengthCm: 花瓣长度, 单位cm
;PetalWidthCm; 花瓣宽度, 单位cm
在这里插入图片描述
读取后五行数据

iris.tail()

运行结果如下:
在这里插入图片描述
查看数据整体信息

iris.info()

运行结果如下:
150行, 4个64位浮点数,数据中无缺失值。
在这里插入图片描述
描述性统计

iris.describe()

运行结果如下:
花萼长度最小值4.30, 最大值7.90, 均值5.84, 中位数5.80, 右偏;花萼宽度最小值2.00, 最大值4.40, 均值3.05, 中位数3.00, 右偏;花瓣长度最小值1.00, 最大值6.90, 均值3.76, 中位数4.35, 左偏;花瓣宽度最小值0.10, 最大值2.50, 均值1.20, 中位数1.30, 左偏。
按中位数来度量: 花萼长度 > 花瓣长度 > 花萼宽度 > 花瓣宽度
在这里插入图片描述
描述性统计转置

iris.describe().T     

运行结果如下:
在这里插入图片描述

数据可视化

花萼长度与宽度/花瓣长度与宽度的可视化

from collections import Counter, defaultdict
import matplotlib
import matplotlib.pyplot as plt
import numpy as np matplotlib.rcParams['font.sans-serif'] = ['SimHei']style_list = ['o', '^', 's']       # 设置点的不同形状,不同形状默认颜色不同,也可自定义
data = iris_datas.data
labels = iris_datas.target_names
cc = defaultdict(list)for i, d in enumerate(data):cc[labels[int(i/50)]].append(d) 
p_list = []
c_list = []for each in [0, 2]:for i, (c, ds) in enumerate(cc.items()):draw_data = np.array(ds)p = plt.plot(draw_data[:, each], draw_data[:, each+1], style_list[i])p_list.append(p)c_list.append(c)plt.legend(map(lambda x: x[0], p_list), c_list)plt.title('鸢尾花花瓣的长度和宽度') if each else plt.title('鸢尾花花萼的长度和宽度')plt.xlabel('花瓣的长度(cm)') if each else plt.xlabel('花萼的长度(cm)')plt.ylabel('花瓣的宽度(cm)') if each else plt.ylabel('花萼的宽度(cm)')plt.show()

运行结果如下:
在这里插入图片描述

数据直方图
之前已经使用过describe()计算出四个属性所对应的四分位数, 最大值以及最小值等统计量。这些均是以表格的形式展示。

url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"  
names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class']  
dataset = pd.read_csv(url, names=names)
dataset.hist() #数据直方图histograms

运行结果如下:
在这里插入图片描述
散点图
x轴表示sepal-length花萼长度,y轴表示sepal-width花萼宽度

dataset.plot(x='sepal-length', y='sepal-width', kind='scatter')

运行结果如下:
在这里插入图片描述

KDE图
KDE图也被称作密度图(Kernel Density Estimate,核密度估计)。

dataset.plot(kind='kde') 

运行结果如下:
在这里插入图片描述
箱线图
kind='box’绘制箱图,包含子图且子图的行列布局layout为2*2,子图共用x轴、y轴刻度,标签为False。

dataset.plot(kind='box', subplots=True, layout=(2,2), sharex=False, sharey=False)

在这里插入图片描述


http://chatgpt.dhexx.cn/article/VBMaEoOV.shtml

相关文章

《机器学习》分析鸢尾花数据集

转载地址:https://www.cnblogs.com/mandy-study/p/7941365.html 分析鸢尾花数据集 下面将结合Scikit-learn官网的逻辑回归模型分析鸢尾花示例,给大家进行详细讲解及拓展。由于该数据集分类标签划分为3类(0类、1类、2类)&#xff…

笔记篇二:鸢尾花数据集分类

目录 一、鸢尾花数据集 二、逻辑回归分析 三、逻辑回归实现鸢尾花数据集分类 四、散点图绘制 一、鸢尾花数据集 1、问题 Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据集内包含 3 类共 150 条记录,每类各 5…

IRIS鸢尾花数据集(多种格式)-下载地址

最近看的例子有用到IRIS数据集, 个人找了半天,才找到合适格式的数据集。 因此,将我找到的数据集分享给大家,以免大家像我一样找很久。 我这里有3种格式的数据集,分别是: 1. iris.csv 2. Iris.data 3.…

鸢尾花数据集基本用法

Iris鸢尾花数据集是一个经典的数据集。 包含3类共150条记录,每类各50项数据,每一条记录都有四个体征。 可以通过这四个特征来预测鸢尾花属于哪一个品种。 一.鸢尾花数据集 首先导入数据集,用pandas读入iris.csv数据集,读取后的…

鸢尾花(iris)数据集分析

原文链接:https://www.jianshu.com/p/52b86c774b0b Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据集内包含 3 类共 150 条记录,每类各 50 个数据,每条记录都有 4 项特征:花萼长度…

鸢尾花(iris)数据集

鸢尾花(iris)数据集 更新时间:2021-03-21 01:01:09标签:数据集 鸢尾花 说明 机器学习教程 正在计划编写中,欢迎大家加微信 sinbam 提供意见、建议、纠错、催更。 鸢【音:yuān】尾花(Iris&a…

数据分析——鸢尾花数据集

鸢尾花数据集 Iris 鸢尾花数据集内包含 3 类分别为山鸢尾(Iris-setosa)、变色鸢尾(Iris-versicolor)和维吉尼亚鸢尾(Iris-virginica),共 150 条记录,每类各 50 个数据,每…

机器学习--鸢尾花数据集实战

Iris数据集实战 本次主要围绕Iris数据集进行一个简单的数据分析, 另外在数据的可视化部分进行了重点介绍. 环境 win8, python3.7, jupyter notebook 目录 1. 项目背景 2. 数据概览 3. 特征工程 4. 构建模型 正文 1. 项目背景 鸢尾属(拉丁学名:Iris L.), …

sklearn基础篇(三)-- 鸢尾花(iris)数据集分析和分类

后面对Sklearn的学习主要以《Python机器学习基础教程》和《机器学习实战基于scikit-learn和tensorflow》,两本互为补充进行学习,下面是开篇的学习内容。 1 初识数据 iris数据集的中文名是安德森鸢尾花卉数据集,英文全称是Anderson’s Iris d…

机器学习——鸢尾花数据集

机器学习——鸢尾花数据集 数据集简介导入数据集可视化主成分分析 鸢尾花数据集即iris iris数据集文件: https://pan.baidu.com/s/1saL_4Q9PbFJluU4htAgFdQ .提取码:1234 数据集简介 数据集包含150个样本(数据集的行)数据集包含…

实验一:鸢尾花数据集分类

实验一:鸢尾花数据集分类 一、问题描述 利用机器学习算法构建模型,根据鸢尾花的花萼和花瓣大小,区分鸢尾花的品种。实现一个基础的三分类问题。 二、数据集分析 Iris 鸢尾花数据集内包含 3 种类别,分别为山鸢尾(Iris…

C++优化之使用emplace

在C开发过程中,我们经常会用STL的各种容器,比如vector,map,set等,这些容器极大的方便了我们的开发。在使用这些容器的过程中,我们会大量用到的操作就是插入操作,比如vector的push_back&#xff…

C++ emplace_back

概述 在C11中,在引入右值的升级后,调用push_back变的更为高效,原本需要调用构造函数构造这个临时对象,然后调用拷贝构造函数将这个临时对象放入容器中。在C11升级后,只需要调用构造函数,然后调用移动拷贝函…

list容器下的 emplace_front() splice() 函数

目录 emplace_front()splice()作者的坑时间复杂度注意点:疑惑处 emplace_front() emplace中文为安置,那么这个函数就是安置到什么什么前面。 void emplace_front(value_type val) ;时间复杂度:O(1) splice() splice译为粘接,作用…

C++优化之使用emplace、emplace_back

在C开发过程中,我们经常会用STL的各种容器,比如vector,map,set等。在使用这些容器的过程中,我们会大量用到的操作就是插入操作,比如vector的push_back,map的insert,set的insert。这些…

emplace_back深度剖析

一&#xff0c;emplace_back和push_back 1&#xff0c;直接插入对象&#xff1a;emplace_back和push_back无区别 ①当传递已经存在的对象时&#xff0c;是无区别的 #include <iostream> #include <vector>using namespace std;/* C11 STL 容器 push/inser…

push_back和emplace_back区别

在使用vector容器时&#xff0c;往容器里添加元素时&#xff0c;有push_back和emplace_back两种方法&#xff0c;一般用得最多得是push_back&#xff0c;下面看看这两种方法得区别&#xff1a; push_back源码&#xff0c;有重载得左值和右值&#xff0c;关于左值和右值可以查看…

C++11之emplace_back

在之前的学习中&#xff0c;了解到在STL中&#xff0c;进行插入元素的时候&#xff0c;有insert和push两种选择方式&#xff0c;而在有了右值引用和移动语义的时候&#xff0c;就提出了更高效的插入方法&#xff1a;emplace_back&#xff0c;下面来介绍一下C11新特性中的emplac…

C++的emplace

一、背景 在C开发过程中&#xff0c;我们经常会用STL的各种容器&#xff0c;比如vector&#xff0c;map&#xff0c;set等&#xff0c;这些容器极大的方便了我们的开发。在使用这些容器的过程中&#xff0c;我们会大量用到的操作就是插入操作&#xff0c;比如vector的push_bac…

C++ emplace_back用法介绍

C 11对容器的push_back, push_front, insert 增加了新的用法&#xff0c;与之对应的是emplace_back&#xff0c;emplace_front, emplace. 它们的作用是在操作容器时可以调用对应类型的构造数&#xff0c;例如下面的代码&#xff1a; #include <iostream> #include <v…