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

探索性数据分析(EDA)是一种系统地分析、可视化和总结数据集的过程,以获取洞察并更好地理解数据中潜在的模式和趋势。

EDA是任何数据分析项目中的重要步骤,因为它有助于识别数据中的潜在问题和偏见。EDA有助于为建模和进一步分析奠定基础。

总体而言,EDA的目标是更深入地了解数据,并识别进一步分析的潜在兴趣领域。

技术交流

技术要学会分享、交流,不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。

本文由粉丝群小伙伴总结与分享,如果你也想学习交流,资料获取,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、添加微信号:dkl88194,备注:来自CSDN + 加群
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

在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)

探索性数据分析示例

这里我提供一个在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)通常涉及以下常见步骤和技术:

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/131634.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

08 # 手写 filter 方法

什么是 filter filter() 方法创建给定数组一部分的浅拷贝,其包含通过所提供函数实现的测试的所有元素。如果没有元素通过测试,则返回一个空数组。 ele:表示数组中的每一个元素index:表示数据中元素的索引array:表示数…

.NET快速对接极光消息推送

什么是消息推送? 很多手机APP会不定时的给用户推送消息,例如一些新闻APP会给用户推送用户可能感兴趣的新闻,或者APP有更新了,会给用户推送是否选择更新的消息等等,这就是所谓的“消息推送”。 常见的一些APP消息推送…

lv11 嵌入式开发 ARM体系结构理论基础(异常、微架构)4

1 异常概念 处理器在正常执行程序的过程中可能会遇到一些不正常的事件发生 这时处理器就要将当前的程序暂停下来转而去处理这个异常的事件 异常事件处理完成之后再返回到被异常打断的点继续执行程序 2 异常处理机制 不同的处理器对异常的处理的流程大体相似&#xff0c…

CMakeCache.txt有什么用

2023年11月11日,周六上午 CMakeCache.txt 是由 CMake 自动生成的一个缓存文件,用于记录在配置过程中生成的各种变量和选项的值。 在使用 CMake 构建项目时,CMake 会根据 CMakeLists.txt 文件中的配置和命令,解析项目的源代码并生…

机器学习算法——线性回归与非线性回归

目录 1. 梯度下降法1.1 一元线性回归1.2 多元线性回归1.3 标准方程法1.4 梯度下降法与标准方程法的优缺点 2. 相关系数与决定系数 1. 梯度下降法 1.1 一元线性回归 定义一元线性方程 y ω x b y\omega xb yωxb 则误差(残差)平方和 C ( ω , b ) …

新生儿夜惊:原因、科普和注意事项

引言: 新生儿夜惊是一种常见的现象,它可能让新父母感到焦虑和不安。夜惊通常表现为婴儿在夜间忽然惊醒、哭闹,并伴随着呼吸急促和肌肉紧张。尽管这在大多数情况下是正常的生理现象,但对于父母来说,了解夜惊的原因和适…

MES系统如何赋能制造企业实现4M防错追溯?

生产过程4M管理和MES系统的结合是现代制造业中关键的质量管理实践,它有助于提高生产效率、降低生产成本并保证产品质量。本文将深入探讨4M管理的概念,以及MES系统如何赋能制造企业实现4M防错追溯。 一、4M管理的概念 4M管理是指在制造过程中管理和控制四…

蓝桥杯算法心得——拼数(排列型回溯dfs)

大家好,我是晴天学长,排列型的dfs,在一些需要暴搜的题中很中很重要,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1) .拼数 2) .算法思路 超级递归 1.遍历数组&#…

Spring Cloud学习(四)【Nacos配置管理】

文章目录 统一配置管理微服务配置拉取配置热更新多环境配置共享Nacos 集群搭建Nacos集群搭建1.集群结构图2.搭建集群2.1.初始化数据库2.2.下载nacos2.3.配置Nacos2.4.启动2.5.nginx反向代理2.6.优化 统一配置管理 Nacos 可以实现注册中心和配置管理服务 在Nacos中添加配置信息…

【Acwing171】送礼物(双向dfs)题解

本题思路来源于acwing算法提高课 题目描述 看本文需要准备的知识 1.二分(强烈推荐文章:http://t.csdnimg.cn/Mx9Lr) 2.dfs基本思想,了解“剪枝”这个术语 思路分析 首先这道题目看起来就是一个01背包,但是如果直接…

ceph-deploy bclinux aarch64 ceph 14.2.10

ssh-copy-id,部署机免密登录其他三台主机 所有机器硬盘配置参考如下,计划采用vdb作为ceph数据盘 下载ceph-deploy pip install ceph-deploy 免密登录设置主机名 hostnamectl --static set-hostname ceph-0 .. 3 配置hosts 172.17.163.105 ceph-0 172.…

另辟奚径-Android Studio调用Delphi窗体

大家都知道Delphi能调用安卓SDK,比如jar、aar等, 但是反过来,能在Android Studio中调用Delphi开发的窗体吗? 想想不太可能吧, Delphi用的是Pascal,Android Studio用的是Java,这两个怎么能混用…

QDockWidget组件的隐藏与显示(按钮控制)

本文内容包括: 1、控制按钮的点击效果美化; 2、用按钮控制QDockWidget组件的隐藏与显示; 参考前提:已有.ui文件、已有QDockWidget组件、已有一个控制QDockWidget组件的按钮 实现效果: DockWidget组件的隐藏与显示&…

mac 无法 push 代码到 github 报错:Couldn‘t connect to server 或者 无法克隆 github 仓库 ,克隆进度卡住

开启代理后上传代码报错 Failed to connect to github.com port 443 after 75108 ms: Couldn’t connect to server 解决方法 在 网络 设置里查看代理端口号 开启配置 http、https 全局代理 git config --global http.proxy http://127.0.0.1:你所查询的端口号 git confi…

一种ADC采样算法,中位值平均滤波+递推平均滤波

前言 在实际AD采集场景中,会出现周期性变化和偶然脉冲波动干扰对AD采集的影响 这里使用中位值平均滤波递推平均滤波的结合 参考前人写好的代码框架,也参考博主GuYH_下面这篇博客,在此基础上稍作修改,写出这篇博客,能…

SFTP远程终端访问

远程终端访问 当服务器部署好以后,除了直接在服务器上操作,还可以通过网络进行远程连接访问CentOS 7默认支持SSH(Secure Shell, 安全Shell 协议),该协议通过高强度的加密算法提高了数据在网络传输中的安全性,可有效防止中间人攻击(Man-in-th…

软件之禅(七)面向对象(Object Oriented)

黄国强 2023/11/11 前文提到面向对象构建的模块控制器,根据第一性原理,从图灵机的角度,面向对象不是最基本的元素。那么面向对象是不是不重要呢? 答案是否定的,面向对象非常非常重要。当我们面对一个具体的领域…

Windows10+vs2015源码编译subversion

Windows源码安装subversion 一、运行环境 windows10 64位系统 VS2015完整安装 Subversion1.6.3 二、源码编译环境配置 1、python环境安装 python-2.4.msi2、perl环境安装 ActivePerl-5.8.8.822-MSWin32-x86-280952.msi3、openssl编译 C:>cd openssl-0.9.7f C:>p…

Leetcode 剑指 Offer II 052. 递增顺序搜索树

题目难度: 简单 原题链接 今天继续更新 Leetcode 的剑指 Offer(专项突击版)系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给你一棵二叉搜索树,请 按中序遍历 将其重新排列为一…

拦截器学习(黑马程序员)

实现步骤: 定义拦截器注册配置拦截器 1 自定义拦截器:实现HandlerInterceptor接口,并重写其所有方法: //自定义拦截器 Component public class LoginCheckInterceptor implements HandlerInterceptor { //目标资源方法执行前执…