zoukankan      html  css  js  c++  java
  • EDA时的画图函数

    结合我之前写的一篇博客来看:http://matafight.github.io/2017/06/24/kaggle经验/

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

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

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

    单变量分布

    对于连续特征

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

    sns.distplot(df["Fare"])

    ![](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来屏蔽置信度区域。

    也可以通过hue参数引入第三个变量(一般为离散的特征比较合适)。

    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参数引入第三个变量(应该是离散的)

    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的各个值的分布情况,可以用如下函数:

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

    对于标签

    1. 回归问题就是画图分布
    2. 离散问题就是看类分布是否均衡
  • 相关阅读:
    怎样运用好ZBrush中的布尔运算
    怎样用好ZBrush 中的映射大师功能
    jvm
    java8 新用法
    entity framework delete table Error 11007:
    'EF.Utility.CS.ttinclude' returned a null or empty string.
    js判断是否绑定了事件。
    线程每5分钟刷新一次
    http请求提交cookie
    javascrip小笔记
  • 原文地址:https://www.cnblogs.com/mata123/p/9768011.html
Copyright © 2011-2022 走看看