欢迎大家来到IT世界,在知识的湖畔探索吧!
欢迎大家来到IT世界,在知识的湖畔探索吧!
翻译:林立琨校对:赵茹萱欢迎大家来到IT世界,在知识的湖畔探索吧!
本文约1300字,建议阅读5分钟
本文手把手带你了解探索性数据分析(EDA)。
各种 EDA 图
什么是 EDA?
据IBM的介绍,探索性数据分析(EDA)是数据科学家用来分析和研究数据集并总结其主要特征的一种方法,通常采用数据可视化技术。因此可以说,EDA 是通过创建可视化和摘要来研究和理解数据集的过程。
为什么需要 EDA?
EDA 在数据科学/机器学习工作流程中非常重要,真正的问题应该是 “没有 EDA 我们该怎么办!”医生在给病人开药或治疗之前,总是要做一些检查,问一大堆问题等等。数据科学家就像医生,只不过我们面对的不是病人,而是数据。EDA 是我们向数据提问的方式,目的是找出有关数据的一切信息,并了解数据为何如此(如识别趋势、模式、异常等)。而现在,好比药物和治疗,我们在尝试根据我们的数据决定最佳的模型和特征并在我们的数据上使用它们。因此,从 EDA 收集到的信息可以帮助我们做到这一点。这就是我们作为数据科学家需要 EDA 的主要原因。
请注意:
在本博文中,我们将使用
1. Seaborn 和 matplotlib 库
2. 来自 Seaborn 的 “Tips “数据集
现在,首先是数据科学家使用次数多的其中几个绘图。
1. 条形图/计数图
图片来自作者的代码
用于:
显示分类变量的分布。
可视化数据集中每个类别的频率或数量。
样例代码:
欢迎大家来到IT世界,在知识的湖畔探索吧!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. 箱型图
图片来自作者的代码
用于:
显示数据的平均值、中位数、分位数和异常值。
比较多个变量的分布。
识别数字变量的松散程度。
检测数据集中的潜在异常值。
样例代码:
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. 密度图
先前提示:我们是数据科学家,我们使用密度图而不是直方图,因为我们讨厌猜测/决定最佳的组距。
图片来自作者的代码
用于:
可视化连续变量的分布
识别数据中的峰值、谷值和整体模式。
了解分布的形状。
比较多个变量的分布。
样例代码:
欢迎大家来到IT世界,在知识的湖畔探索吧!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. 散点图
图片来自作者代码
用于:
探索两个连续变量之间的关系。
识别数据中的模式、相关性或聚类。
样例代码:
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.折线图
图片来自作者代码
用于:
显示时间序列中的趋势或模式。
显示两个连续变量在一个连续区间内的关系。
比较变量在连续范围内的变化。
样例代码:
欢迎大家来到IT世界,在知识的湖畔探索吧!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. 热图
图片来自作者代码
用于:
显示数值变量的相关矩阵。
识别大型数据集中的模式和关系。
样例代码:
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. 分图
图片来自作者代码
用于:在同一图表中并排比较多个绘图。
样例代码:
欢迎大家来到IT世界,在知识的湖畔探索吧!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. 成对图(并无官方翻译)
图片作者来自代码
用于通过可视化成对变量来探索多个变量之间的相关性和趋势。
样例代码:
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.小提琴图
结合了箱型图和核密度图的特点。
图片作者来自代码
用于:可视化数值变量在不同类别中的分布。
样例代码:
欢迎大家来到IT世界,在知识的湖畔探索吧!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
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/81223.html