EDA时的画图函数

2021年11月23日 阅读数:3
这篇文章主要向大家介绍EDA时的画图函数,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

结合我以前写的一篇博客来看:http://matafight.github.io/2017/06/24/kaggle%E7%BB%8F%E9%AA%8C/python

Step1:导入数据并了解数据轮廓

查看各个特征的基本数据类型而且计算哪些特征缺失值比较多。 将特征的数据类型分为数值型和离散型两大类。git

Step2: 分析特征和标签的分布状况

单变量分布

对于连续特征

  1. 给出特征分布(能够不考虑缺失值)

sns.distplot(df["Fare"])github

![](https://img2018.cnblogs.com/blog/667947/201810/667947-20181013092051559-1979671760.png)


#### 对于离散特征
1. 就是看特征分布是否均衡
```python
sns.countplot(x='Survived', data=df)

sns.catplot(x="Pclass", kind="count", palette="ch:.25", data=df)
## 这也是countplot

多变量分布(能够是特征之间也能够是特征与标号之间)

连续变量与连续变量

  1. scatter plot
sns.relplot(x="Age", y="Fare", data=df);
## replot是一个figure-level的function,它的默认方法是scatterplot

能够用hue参数引入第三维变量函数

sns.relplot(x="Age", y="Fare", hue = 'Pclass',data=df);

  1. lineplot,如时序特征
g = sns.relplot(x="Age", y="Fare", kind="line", data=df)

将x轴的特征按大小排序,而后链接起来。 注意上图中的线条并不仅有一条线,而是一个范围的区域,这是由于同一个x值可能有多个y值与之对应,颜色最深的线就是他们的均值,上下的范围是95%的置信度区域。 能够经过设置参数ci=None来屏蔽置信度区域。url

也能够经过hue参数引入第三个变量(通常为离散的特征比较合适)。spa

g = sns.relplot(x='Age',y ='Fare',hue='Sex',kind='line',data=df)

  1. 能够经过使用col参数更直观地展现三个(或四个,使用hue参数)变量之间的关系
g = sns.relplot(x='Age',y='Fare',kind='line',col='Pclass',data=df)

连续变量与离散变量

  1. scatter plot

sns.catplot(x="Pclass", y="Fare", data=df);

  1. boxplot 表示每一个离散变量的取值对应的另外一个特征的分布,另外一个特征是连续特征,若是是离散特征的话画出来的图很是奇怪
sns.catplot(x="Pclass", y="Fare", kind="box", data=df);

固然也可使用hue参数引入第三个变量(应该是离散的).net

sns.catplot(x="Pclass", y="Fare",hue = 'Sex', kind="box", data=df);

  1. barplot 感受这个方法与boxplot的方法比较类似,统计的是均值和标准差,而boxplot是均值、分位点和异常点的范围。
sns.catplot(x="Pclass", y="Fare",hue = 'Sex', kind="bar", data=df);

离散变量与离散变量

探索离散变量a与b之间的关系实际上就至关于探索 当a等于某个值时b的各个值的分布状况,能够用以下函数:3d

sns.catplot(y="Sex", hue="Pclass", kind="count",
            palette="pastel", edgecolor=".6",
            data=df);

对于标签

  1. 回归问题就是画图分布
  2. 离散问题就是看类分布是否均衡