前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >独家 | 80%的时间中,数据科学家使用的20%探索数据的图——您需要了解的探索性数据分析(EDA)

独家 | 80%的时间中,数据科学家使用的20%探索数据的图——您需要了解的探索性数据分析(EDA)

作者头像
数据派THU
发布2024-03-01 14:38:19
1810
发布2024-03-01 14:38:19
举报
文章被收录于专栏:数据派THU
代码语言:javascript
复制
翻译:林立琨校对:赵茹萱
本文约1300字,建议阅读5分钟本文手把手带你了解探索性数据分析(EDA)。

各种 EDA 图

什么是 EDA?

据IBM的介绍,探索性数据分析(EDA)是数据科学家用来分析和研究数据集并总结其主要特征的一种方法,通常采用数据可视化技术。因此可以说,EDA 是通过创建可视化和摘要来研究和理解数据集的过程。

为什么需要 EDA?

EDA 在数据科学/机器学习工作流程中非常重要,真正的问题应该是 "没有 EDA 我们该怎么办!"医生在给病人开药或治疗之前,总是要做一些检查,问一大堆问题等等。数据科学家就像医生,只不过我们面对的不是病人,而是数据。EDA 是我们向数据提问的方式,目的是找出有关数据的一切信息,并了解数据为何如此(如识别趋势、模式、异常等)。而现在,好比药物和治疗,我们在尝试根据我们的数据决定最佳的模型和特征并在我们的数据上使用它们。因此,从 EDA 收集到的信息可以帮助我们做到这一点。这就是我们作为数据科学家需要 EDA 的主要原因。

请注意:

在本博文中,我们将使用

1. Seaborn 和 matplotlib 库

2. 来自 Seaborn 的 "Tips "数据集

现在,首先是数据科学家使用次数多的其中几个绘图。

1. 条形图/计数图

图片来自作者的代码

用于:

显示分类变量的分布。

可视化数据集中每个类别的频率或数量。

样例代码:

代码语言:javascript
复制
import seaborn as sns
import matplotlib.pyplot as plt
data = sns.load_dataset('tips')
sns.countplot(x='day', data=data)
plt.title('Count of Tips by Day')
plt.show()

2. 箱型图

图片来自作者的代码

用于:

显示数据的平均值、中位数、分位数和异常值。

比较多个变量的分布。

识别数字变量的松散程度。

检测数据集中的潜在异常值。

样例代码:

代码语言:javascript
复制
import seaborn as sns
import matplotlib.pyplot as plt

data = sns.load_dataset('tips')
 sns.boxplot(x='day', y='total_bill', data=data)
  plt.title('Box Plot of Total Bill by Day')

3. 密度图

先前提示:我们是数据科学家,我们使用密度图而不是直方图,因为我们讨厌猜测/决定最佳的组距。

图片来自作者的代码

用于:

可视化连续变量的分布

识别数据中的峰值、谷值和整体模式。

了解分布的形状。

比较多个变量的分布。

样例代码:

代码语言:javascript
复制
import seaborn as sns
import matplotlib.pyplot as plt

data = sns.load_dataset('tips')
 sns.kdeplot(data['total_bill'],
  shade=True) plt.title('Total Bill 的密度图')
plt.show()

4. 散点图

图片来自作者代码

用于:

探索两个连续变量之间的关系。

识别数据中的模式、相关性或聚类。

样例代码:

代码语言:javascript
复制
import seaborn as sns
import matplotlib.pyplot as plt

data = sns.load_dataset('tips')
 sns.scatterplot(x='total_bill', y='tip', data=data)
  plt.title('Scatter Plot of Total Bill vs. Tip')

5.折线图

图片来自作者代码

用于:

显示时间序列中的趋势或模式。

显示两个连续变量在一个连续区间内的关系。

比较变量在连续范围内的变化。

样例代码:

代码语言:javascript
复制
import seaborn as sns
import matplotlib.pyplot as plt

data = sns.load_dataset('tips')
 sns.lineplot(x='total_bill', y='tip', data=data)
  plt.title('Line Plot of Tip Over Total Bill')

6. 热图

图片来自作者代码

用于:

显示数值变量的相关矩阵。

识别大型数据集中的模式和关系。

样例代码:

代码语言:javascript
复制
import seaborn as sns
import matplotlib.pyplot as plt
data = sns.load_dataset('tips') 
correlation_matrix = data.corr()
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm')
plt.title('Correlation Heatmap') 
plt.show()

额外:组合图

听说过 "一石二鸟 "吗?

在 EDA 方面,我们也经常这样做,我们使用的图实际上是上述图的组合。

这样做是为了 "节省时间",但实事求是地说,像样的 EDA 值得付出大量的时间。

7. 分图

图片来自作者代码

用于:在同一图表中并排比较多个绘图。

样例代码:

代码语言:javascript
复制
import seaborn as sns
import matplotlib.pyplot as plt
 data = sns.load_dataset('tips')
 plt.figure(figsize=(12, 8))
plt.subplot(2, 2, 1) sns.scatterplot(x='total_bill', y='tip',
 data=data) plt.title('Scatter Plot of Total Bill vs Tip')
 sns.barplot(x='day', y='total_bill', data=data)
 plt.title('Bar Plot of Total Bill by Day')
plt.subplot(2, 2, 4) 
sns.histplot(data['total_bill'],kde=True)
 plt.title('Histogram of Total Bill')

8. 成对图(并无官方翻译)

图片作者来自代码

用于通过可视化成对变量来探索多个变量之间的相关性和趋势。

样例代码:

代码语言:javascript
复制
import seaborn as snsimport matplotlib.pyplot as plt data =
sns.load_dataset('tips')
sns.pairplot(data, hue='day')
plt.suptitle('Pairplot of Numerical Variables by Day', y=1.02) 
plt.show()

9.小提琴图

结合了箱型图和核密度图的特点。

图片作者来自代码

用于:可视化数值变量在不同类别中的分布。

样例代码:

代码语言:javascript
复制
import seaborn as sns
import matplotlib.pyplot as plt

data = sns.load_dataset('tips') 
sns.violinplot(x='day', y='total_bill', 
data=data) plt.title('Violin Plot of Total 
Bill by Day') 
plt.show()

原文标题:

20% of EDA Plots Data Scientists Use 80% of the Time

原文链接:

20% of EDA Plots Data Scientists Use 80% of the Time | by Anjolaoluwa Ajayi | GDSC Babcock Dataverse | Dec, 2023 | Medium

编辑:于腾凯

校对:林亦霖

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-02-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据派THU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是 EDA?
  • 为什么需要 EDA?
  • 请注意:
  • 1. 条形图/计数图
  • 2. 箱型图
  • 3. 密度图
  • 4. 散点图
  • 6. 热图
  • 7. 分图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档