问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

超全总结!探索性数据分析 (EDA)方法汇总!

创作时间:
作者:
@小白创作中心

超全总结!探索性数据分析 (EDA)方法汇总!

引用
CSDN
1.
https://blog.csdn.net/qq_34160248/article/details/134344867

探索性数据分析(EDA)是数据分析项目中不可或缺的重要环节,它帮助我们系统地分析、可视化和总结数据集,以获取洞察并更好地理解数据中潜在的模式和趋势。本文将全面介绍EDA的主要步骤、常用技术和具体示例,帮助读者掌握这一关键的数据分析技能。

EDA概述

探索性数据分析(EDA)是一种系统地分析、可视化和总结数据集的过程,以获取洞察并更好地理解数据中潜在的模式和趋势。EDA是任何数据分析项目中的重要步骤,因为它有助于识别数据中的潜在问题和偏见。EDA有助于为建模和进一步分析奠定基础。
总体而言,EDA的目标是更深入地了解数据,并识别进一步分析的潜在兴趣领域。

常见步骤和技术

在EDA中常见的步骤和技术有:

数据清理和预处理

这涉及识别和纠正数据中的错误、缺失值和不一致之处。

数据可视化

这涉及创建图表、图形和图表,以可视化数据中的趋势、模式和关系,例如:

  • 饼图
  • 热力图
  • 折线图
  • 面积图
  • 条形图
  • 瀑布图
  • 气泡图
  • 柱形图
  • 子弹图
  • 漏斗图
  • 散点图
  • Mekko图
  • 双轴图
  • 堆叠条形图
  • 堆叠柱形图

统计分析

这涉及使用统计技术对数据进行总结和描述,例如计算集中趋势(均值、中位数、众数)和离散度(标准差、范围、四分位距)等。

数据转换

这涉及以某种方式转换数据,以更好地展现模式或关系,例如标准化数据或应用对数转换。以下是一些常见的数据转换技术:

  • 归一化(最小-最大归一化):归一化是将变量缩放到在0和1之间的过程。当比较具有不同尺度或测量单位的变量时,这可能是有用的。

    normalized_value = (value - min_value) / (max_value - min_value)
    
  • 标准化(Z分数标准化):标准化是将变量缩放为具有均值为0和标准差为1的过程。当数据遵循正态分布或变量的尺度不重要时,这可能是有用的。

    standardized_value = (value - mean) / standard_deviation
    
  • 鲁棒标量缩放:鲁棒标量缩放是一种标准化方法,将数值特征缩放为该特征的中值为0,四分位距(IQR)为1。四分位距是数据的第25和第75百分位数之间的范围,用作数据分散的一种度量。

    scaled_value = (value - median) / IQR
    
  • 聚合:聚合是将多个数据点或观察值组合成单个摘要值的过程。一些常见的聚合公式包括:均值、中位数、众数、求和、计数

  • 分箱:分箱是将连续的数值变量分组为一组离散的分类“箱”或间隔的转换过程。常见的分箱方法包括:等宽分箱、等频分箱、自定义分箱

例如,如果我们有一个值范围从0到100的数据集,并且想要在值0、25、50、75和100处创建箱子。

  • 对数转换:对数转换是将对数函数应用于变量的过程。这对于归一化变量的分布或减小异常值的影响非常有用。对数转换可用于通过减小大值的影响来归一化偏斜的数据。这可以使数据更对称,减小偏斜。
    对数转换是通过用该值的对数替换每个值来应用于数据的。所使用的具体对数取决于对数的底数,但最常见的底数是10。基于10的对数转换的公式是:
    log_transformed_value = log10(value)
    

EDA示例

这里提供一个在Python中使用样本数据集进行探索性数据分析的非常简单的示例:

import pandas as pd
import matplotlib.pyplot as plt
# Load the dataset
df = pd.read_csv("sample_data.csv")
# Check the shape of the data
print(df.shape)
# Check the data types of the columns
print(df.dtypes)
# Check for missing values
print(df.isnull().sum())
# Summary statistics of the numerical columns
print(df.describe())
# Countplot of a categorical column
plt.figure(figsize=(10, 6))
sns.countplot(x="categorical_col", data=df)
plt.show()
# Boxplot of a numerical column
plt.figure(figsize=(10, 6))
sns.boxplot(x="categorical_col", y="numerical_col", data=df)
plt.show()
# Scatterplot of two numerical columns
plt.figure(figsize=(10, 6))
sns.scatterplot(x="numerical_col_1", y="numerical_col_2", data=df)
plt.show()

计算机视觉中的EDA

在计算机视觉中,针对图像数据的探索性数据分析(EDA)通常涉及以下常见步骤和技术:

  1. 加载和检查图像数据:使用诸如OpenCV或Pillow等库加载并查看数据集中的图像。检查图像的大小、形状和格式。

  2. 检查缺失或损坏的图像:检查数据集中是否存在缺失或损坏的图像,并在必要时将其删除。

  3. 探索图像内容和标签:检查图像的内容以及与之关联的标签。检查标签中是否存在不一致或异常。

  4. 可视化图像数据:使用直方图、散点图和散点矩阵等可视化技术,了解不同图像属性和标签之间的分布和关系。

  5. 预处理图像数据:根据需要对图像数据进行预处理,例如调整大小、裁剪或对图像进行归一化。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号