首先导包,下面会使用sklearn自带的数据集来演示画图操作

from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
import pandas as pd

X,Y分别表示鸢尾花的特征和标签,下面的画图会使用到X,Y。 下面的画图有的是Dataframe列名,有的是numpy数据

1、lineplot(线图)

注意:这里我直接用numpy类型,并未转成DataFrame类型

R语言鸢尾花数据分析代码_人工智能

加载sklearn的鸢尾花数据,共150条数据,每个数据有、'sepal length ', 'sepal width ', 'petal length ', 'petal width' 4个特征,共'setosa', 'versicolor', 'virginica'三种类别。

 

R语言鸢尾花数据分析代码_sklearn_02

 上面的ci=0用于去掉图中的阴影,可以去掉ci=0看看效果。

上面我并未通过DataFrame关键字来获取指定列,所以坐标轴没有标签,我手动plt.xlabel和plt.ylabel进行了指定坐标轴标签。

2、scatterplot(散点图)

R语言鸢尾花数据分析代码_sklearn_03

 注意:这里可以使用向量而不使用DataFrame中的列名

散点图是分析两个特征变量直接的关系,如果是线性关系,我们就可以去除其中一个特征,相当于去除冗余特征

1、普通散点图

R语言鸢尾花数据分析代码_人工智能_04

 解释跟上面的线图一样

2、分组散点图

按点所属的类型来进行不同标记,使用hue参数来指分组。下面的hue是指样本的标签target,sns会自动根据标签的不同来分组,即'setosa', 'versicolor', 'virginica'三组,因此有三种不同颜色的点。

R语言鸢尾花数据分析代码_直方图_05

 下面增加了style=Y参数,这个也是分组的功能,根据style所选参数来分组点,不同类别的点采用不同的形状,Y有三种类别,所以有三种形状的点

R语言鸢尾花数据分析代码_人工智能_06

3、pairplot(成对关系图)

注意:这里强制使用DataFrame类型,所以现将X转成了DataFrame类型

R语言鸢尾花数据分析代码_python_07

将每一列与其他类画散点图,上面的数据集有4个特征,所以有4*4个图

R语言鸢尾花数据分析代码_sklearn_08

注意, 这个参数必须是DataFrame类型

4、countplot(计数图)

注意:这里可以使用向量作为输入,不需要列名

R语言鸢尾花数据分析代码_python_09

1、指定参数为x=,即以x轴作为类别,y轴作为计数个数

R语言鸢尾花数据分析代码_直方图_10

 2、指定参数y=,即以y轴作为类别,x轴作为计数个数

R语言鸢尾花数据分析代码_直方图_11

 5、displot(直方图)

 注意:不是distplot,是displot,distplot已经被官方遗弃,请使用displot

直方图是数值数据分布的精确图形表示。 这是一个连续变量的概率分布的估计,直方图的画法如下:

R语言鸢尾花数据分析代码_直方图_12

 1、普通直方图

直方图默认组数是9组,可以通过bins参数来调整组数,横轴是变量的数值范围,纵轴是落在区间的个数

R语言鸢尾花数据分析代码_直方图_13

下面的,kde=True参数是画带核密度的直方图

 

R语言鸢尾花数据分析代码_人工智能_14

2、分类直方图:根据数据所属类别的来画直方图

R语言鸢尾花数据分析代码_人工智能_15

 解释:上面的三种不同颜色代表三种鸢尾花,通过hue=Y来给数据划分。没给数据X[i, 0]都对应一个Y标签,所以得出三种颜色的柱子。通过x=X[:,0]来指定柱子的方向在x,如果指定y=X[:,0]那么将在y轴显示柱子。

6、lmplot回归图

回归图会自动完成回归拟合,用于分析特征变量之间是否存在关系。

注意:下图是官网的参数介绍,这个函数必须提供,特征X, 特征Y, data, 而且只能是DataFrame类型的列名,通过hue来进行分组。

R语言鸢尾花数据分析代码_R语言鸢尾花数据分析代码_16

R语言鸢尾花数据分析代码_R语言鸢尾花数据分析代码_17

 

R语言鸢尾花数据分析代码_python_18

 下图是通过hue=Y参数来进行分组,Y有三种类型,所以有三种不同颜色的点

R语言鸢尾花数据分析代码_sklearn_19