• Data Analysis 总结笔记:EDA


    Exploratory data analysis (EDA) 是一种分析数据的方法。通常用于建模之前,以便总结数据的主要特征,从而更好的了解数据集,提取各变量之间的关系。

    以下将总结几种常用的方法。


    Descriptive Statistics


    通常在开始分析数据时,我们会粗略的浏览一下数据,而 Descriptive Statistics 有助于描述数据集的基本特征。

    # for numeric variables
    DataFrame.describe(percentiles=None, include=None, exclude=None, datetime_is_numeric=False)
    
    # for categorical variables
    DataFrame.value_counts(subset=None, normalize=False, sort=True, ascending=False, dropna=True)[source]
    

    box plot 是观察数值型数据的好方法。我们可以通过箱形图查看变量的数据分布。如果我们想观察两个变量之间的关系,那么可以选择 scatter plot。

    # box plot
    seaborn.boxplot(*, x=None, y=None, hue=None, data=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, width=0.8, dodge=True, fliersize=5, linewidth=None, whis=1.5, ax=None, **kwargs)
    
    # scatter plot
    matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, *, edgecolors=None, plotnonfinite=False, data=None, **kwargs)
    

    Grouping Data


    当数据集含有分类变量的时候,我们通常会尝试根据该变量的不同类别将数据分组为多个子集进行分析。我们可以按单个变量进行分组,也可以按多个变量进行分组。

    DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=NoDefault.no_default, observed=False, dropna=True)
    

    但是有时候分组后得到的数据并不是那么容易查看和理解,因此我们可以生成数据透视表以便查看。

    DataFrame.pivot(index=None, columns=None, values=None)
    

    亦或者我们可以生成 heatmap 来查看。heatmap 能更方便地观察一个变量与多个变量之间的关系。

    matplotlib.pyplot.pcolor(*args, shading=None, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, data=None, **kwargs)
    

    Correlation


    相关性是一个统计指标,用于衡量不同变量之间相互依赖的程度。(注意的是相关性并不是因果性。)

    我们可以绘制回归线来了解两个变量是否具有相关性,是正相关和负相关。

    seaborn.regplot(*, x=None, y=None, data=None, x_estimator=None, x_bins=None, x_ci='ci', scatter=True, fit_reg=True, ci=95, n_boot=1000, units=None, seed=None, order=1, logistic=False, lowess=False, robust=False, logx=False, x_partial=None, y_partial=None, truncate=True, dropna=True, x_jitter=None, y_jitter=None, label=None, color=None, marker='o', scatter_kws=None, line_kws=None, ax=None)
    

    对于连续数值型变量之间的相关性,我们用 Pearson Correlation 来进行测量。Pearson Correlation 将会提供两个值, 一是 correlation coefficient(相关系数), 二是 P-value。 如果 correlation coefficient 接近1,表示两个变量之间较大的正相关性;如果接近-1,表示两者之间较大的负相关性;如果接近0,表示两者之间相关性不大。而 P-value 则用于衡量相关性的确定程度。对于 P-value 如果 P < 0.001 则表示计算的 correlation coefficient 的可信度高;如果 0.001 < P < 0.05,则表示具有中等的可信度;如果 0.05 < P < 0.1,则表示可信度较低;如果 P > 0.1,则表示不可信。

    scipy.stats.pearsonr(x, y)
    

    对于类别型变量之间的相关性,我们可以用卡方检验来测量。使用卡方检验旨在检测两个变量是否独立不相关。若 P < 0.05 则拒绝两变量是独立的原假设。

    scipy.stats.chi2_contingency(observed, correction=True, lambda_=None)
    
  • 相关阅读:
    安装IIS
    SQL 通过某个字段名称找到数据库中对应的表
    javascript 操作 drop down list
    The project type is not supported by this installationVS2005
    Get 和 Post 简介
    .Net 控件调用 javascript事件
    JQuery检测浏览器版本
    开车要点
    linux shell工程师要求
    memory management
  • 原文地址:https://www.cnblogs.com/yukiwu/p/15897247.html
Copyright © 2020-2023  润新知