当前位置 博文首页 > Python学习与数据挖掘:一看就懂 通俗易懂的EDA的教程!

    Python学习与数据挖掘:一看就懂 通俗易懂的EDA的教程!

    作者:[db:作者] 时间:2021-09-17 12:24

    欢迎关注 ,专注Python、数据分析、数据挖掘、好玩工具!

    EDA介绍

    Exploratory Data Analysis是数据科学领取理解和分析数据的方法,通过不断的收集、分析和假设验证,以取得对数据的深入理解。

    本文将使用的Automobile Dataset来进行EDA过程,并试图给介绍EDA的具体步骤。

    • 什么是EDA?

    • 为什么做EDA?

    • 如何做EDA?

    什么是EDA?

    EDA用于从数据中获取规律,使用一些统计值和可视化技术在数据中找到不同的模式、关系和异常情况。

    1. 深入理解数据

    2. 发现数据的内部结构

    3. 分析数据集中重要变量

    4. 识别数据中的异常值和异常

    5. 验证数据假设

    为什么做EDA?

    在比赛中所有选手给定的介绍和数据相同的情况下,从EDA发现的信息越多,对我们建模就更加有帮助。

    1. 特征如何选择

    2. 特征如何编码

    3. 数据如何划分

    如何做EDA?

    首先我们读取Automobile Dataset:

    https://www.kaggle.com/toramky/automobile-dataset

    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    %matplotlib inline
    import seaborn as sns
    
    auto=pd.read_csv('Automobile dataset.data')
    
    

    查看每列的类型:

    auto.info()
    
    

    图片

    接下来可以检查下每列的缺失值情况:

    auto.isnull().sum()
    
    

    图片

    由于原始数据缺失值可能使用代替,所以这里我们看不出具体缺失值的情况。此外数据集里面有一些字段应该是数值类型,但编码为类别信息了。

    接下来我们查看下每列的取值空间:

    for col in auto.columns:
        print('{} : {}'.format(col,auto[col].unique()))
    
    

    进行替换,然后统计缺失值:

    for col in auto.columns:
        auto[col].replace({'?':np.nan},inplace=True)
        
    auto.isnull().sum()
    
    

    接下来对缺失值出现情况进行可视化:

    sns.heatmap(auto.isnull(),cbar=False,cmap='viridis')
    
    

    图片

    我们发现较多缺失值出现在normalized_losses列,但我们不能直接删除,可能这一列包含重要信息。

    接下来对列进行相关性分析:

    plt.figure(figsize=(10,10))
    sns.heatmap(auto.corr(),cbar=True,annot=True,cmap='Blues')
    
    

    图片

    我们可以发现较多变量之间是存在强相关的,接下来我们可以对强相关的列进行分析,如horsepower和price:

    plt.figure(figsize=(10,10))
    plt.scatter(x='horsepower',y='price',data=auto)
    plt.xlabel('Horsepower')
    plt.ylabel('Price')
    
    

    图片

    类似的,我们还可以对其他强相关列进行类似分析,通过分析可以得到:

    • 两个变量如何相互影响。

    • 变量的笛卡尔积对标签是否有影响。

    • 两个变量是否存在交叉的可能。


    技术交流

    欢迎转载、收藏、有所收获点赞支持一下!

    在这里插入图片描述
    目前开通了技术交流群,群友超过2000人,添加方式如下:

    如下方式均可,添加时最好方式为:来源+兴趣方向,方便找到志同道合的朋友

    • 方式一、发送如下图片至微信,进行长按识别,回复加群;
    • 方式二、直接添加小助手微信号:pythoner666,备注:来自CSDN
    • 方式三、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

    在这里插入图片描述

    cs
    下一篇:没有了