本节使用Iris数据集的分析与可视化为例对Seaborn的绘图功能进行简单讲解。Iris数据集是常用的分类实验数据集,由Fisher在1936年收集整理,也称鸢尾花卉数据集,是一类多重变量分析的数据集。
数据集包含150个数据,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。
表Iris 数据集(部分)
Id | SepalLengthCm | SepalWidthCm | PetalLengthCm | PetalWidthCm | Species |
---|---|---|---|---|---|
1 | 5.1 | 3.5 | 1.4 | 0.2 | Iris-setosa |
2 | 4.9 | 3 | 1.4 | 0.2 | Iris-setosa |
3 | 4.7 | 3.2 | 1.3 | 0.2 | Iris-setosa |
…… | |||||
51 | 7 | 3.2 | 4.7 | 1.4 | Iris-versicolor |
52 | 6.4 | 3.2 | 4.5 | 1.5 | Iris-versicolor |
53 | 6.9 | 3.1 | 4.9 | 1.5 | Iris-versicolor |
…… | |||||
102 | 5.8 | 2.7 | 5.1 | 1.9 | Iris-virginica |
103 | 7.1 | 3 | 5.9 | 2.1 | Iris-virginica |
104 | 6.3 | 2.9 | 5.6 | 1.8 | Iris-virginica |
…… |
数据载入
绘图之前先利用Pandas载入Iris数据并将其转为Pandas DataFrame格式。使用前可以先查看数据的结构,以便根据数据结构和类型选择合适的图表进行可视化。
import pandas as pd # 导入pandas库
import warnings # 载入当前版本seaborn库时会有警告出现,先载入warnings,忽略警告
import seaborn as sns # 导入seaborn库
warnings.filterwarnings("ignore") # 忽略警告
sns.set(style="white", color_codes=True) # 确定主题为white
iris = pd.read_csv("iris.csv") # 读取csv数据并转为Pandas的 DataFrame格式
print(iris.head()) # 用head函数看一下前5行数据,确定数据结构
print(iris["Species"].value_counts()) # 用counts函数查看每个类别有多少样本
用head函数可查看前5行数据,以确定数据结构正确,该函数的输出为:
Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species
0 1 5.1 3.5 1.4 0.2 Iris-setosa
1 2 4.9 3.0 1.4 0.2 Iris-setosa
2 3 4.7 3.2 1.3 0.2 Iris-setosa
3 4 4.6 3.1 1.5 0.2 Iris-setosa
4 5 5.0 3.6 1.4 0.2 Iris-setosa
counts函数可用于查看数据分几类?每一类多少个样本?是否为均衡分类。该函数的输出为:
Iris-versicolor 50
Iris-setosa 50
Iris-virginica 50
Name: Species, dtype: int64
从counts函数输出结果可以看出,数据样本分布很均匀。