针对初学者,我建议你学这 3 个 Python AutoEDA 工具包

Python学习与数据挖掘 2021-11-25 16:19:52
Python 初学者 初学 建议 学者

数据科学爱好者知道,在将原始数据输入机器学习模型解决实际问题之前,需要对其进行大量处理。根据问题的类型(回归或分类),需要遵循一系列步骤来准备和格式化数据。为了探索数据集,Python 是可以说是最强大的数据分析工具之一,此外,它可以更好地数据可视化。

数据科学和机器学习不仅仅是拥有强大计算机科学背景的人可以接触到的。相反,越来越多的来自不同行业的专业人士已加入这一领域。但是对于一个刚刚开始机器学习的初学者来说,也不是一件很容易的事情。

在本文中,我们将讨论三个面向初学者非常友好的自动化 EDA Python 库,在文末我会分享其他有趣的 AutoEDA 库。喜欢的小伙伴欢迎收藏学习,喜欢点赞支持。文末我也提供技术交流群,欢迎畅聊。

首先我们加载一下数据

#loading the dataset
from sklearn import datasets
import pandas as pd
data = datasets.load_iris()
df = pd.DataFrame(data.data,columns=data.feature_names)
df['target'] = pd.Series(data.target)
df.head()

在这里插入图片描述
如果我们不使用 AutoEDA,这里有一个通常用于 EDA 的命令列表,用于打印有关 DataFrame/数据集的不同信息

  • df.head() – 前五行

  • df.tail() – 最后五行

  • df.describe() – 有关数据集的百分位数、平均值、标准偏差等的基本统计信息

  • df.info() – 数据集摘要

  • df.shape() – 数据集中的观察值和变量的数量,即数据的维度

  • df.dtypes() – 变量的数据类型(int、float、object、datetime)

  • df.unique()/df.target.unique() – 数据集/目标列中的唯一值

  • df[‘target’].value_counts() – 分类问题的目标变量分布

  • df.isnull().sum()- 计算数据集中的空值

  • df.corr() – 相关信息

  • 等等…

AutoEDA 库可以通过几行 Python 代码快速完成所有这些以及更多工作。但在我们开始之前,让我们先检查安装的 Python 版本,因为这些库需要 Python >=3.6。

print(python --version) # check installed Python version

1. Pandas Profiling

首先,auto-EDA 库是一个用 Python 编写的开源选项。 它为给定的数据集生成一个全面的交互式 HTML 报告。 它能够描述数据集的不同方面,例如变量类型、处理缺失值、数据集的众数。

要安装库,请在 jupyter notebook 中输入并运行以下命令

!pip install pandas-profiling

EDA 使用 Pandas Profiling

我们将首先导入主包pandas 来读取和处理数据集。

接下来,我们将导入pandas profiling

import pandas_profiling
#Generating PandasProfiling Report
report = pandas_profiling.ProfileReport(df)

从报告中,初学者可以很容易地理解 iris 数据集中有 5 个变量——4 个数字变量,结果变量是分类变量。 此外,数据集中有 150 个样本并且没有缺失值。
在这里插入图片描述
下面由 Pandas 分析生成的一些示例图有助于理解我们之前列出的命令的相关性、唯一值和缺失值。
在这里插入图片描述
相关性
在这里插入图片描述
在这里插入图片描述
总的来说,Pandas Profiling 在从数据集中可以快速生成方面令人印象深刻。

2. Sweetviz 2.1.3

这是一个开源 Python 库,仅使用两行代码即可执行EDA。该库为数据集生成的报告以.html 文件形式提供,可以在任何浏览器中打开。 使用 Sweetviz,我们可以实现:

  • 数据集特征如何与目标值相关联

  • 可视化测试和训练数据并比较它们。我们可以使用analyze()、compare() 或compare_intra() 来评估数据并生成报告。

  • 绘制数值和分类变量的相关性

  • 总结有关缺失值、重复数据条目和频繁条目的信息以及数值分析,即解释统计值

要安装库,请在 jupyter notebook 运行以下命令

!pip install sweetviz

EDA 使用 Sweetviz

与前面的部分类似,我们将首先导入pandas 来读取和处理数据集。

接下来,我们只需导入 sweetviz 来探索数据。

import sweetviz as sv
#Generating Sweetviz report
report = sv.analyze(df)
report.show_html("iris_EDA_report.html") # specify a name for the report

这就是典型的 Sweetviz 报告的样子
在这里插入图片描述
确实令人印象深刻和漂亮。

3. AutoViz

AutoViz 只需一行代码即可快速分析任何数据。要安装库,与以上类似。

from autoviz.AutoViz_Class import AutoViz_Class
AV = AutoViz_Class()
#Generating AutoViz Report #this is the default command when using a file for the dataset
filename = ""
sep = ","
dft = AV.AutoViz(
filename,
sep=",",
depVar="",
dfte=None,
header=0,
verbose=0,
lowess=False,
chart_format="svg",
max_rows_analyzed=150000,
max_cols_analyzed=30,
)

由于我们使用的是库中的数据集,我们需要如下修改

#Generating AutoViz Report
filename = "" # empty string ("") as filename since no file is being used for the data
sep = ","
dft = AV.AutoViz(
'',
sep=",",
depVar="",
dfte=df,
header=0,
verbose=0,
lowess=False,
chart_format="svg",
max_rows_analyzed=150000,
max_cols_analyzed=30,
)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
AutoViz 报告包括有关数据集形状的信息以及所有可能的图表,包括条形图、小提琴图、相关矩阵(热图)、配对图等。所有这些信息与一行代码肯定对任何初学者都有用。

结论

还有其他有趣的 AutoEDA 库,如 Dora、D-Tale 和 DataPrep,它们类似于本文中讨论的这三个库,如果你感兴趣,可以深入研究。从初学者的角度来看,Pandas Profiling、Sweetviz 和 AutoViz 似乎是最简单的生成报告以及呈现数据集洞察力的工具。

参考:

  • https://github.com/Devashree21/AutoEDA-Iris-AutoViz-Sweetviz-PandasProfiling
  • https://pypi.org/project/pandas-profiling/[accessed: Aug-09-2021]
  • https://pypi.org/project/sweetviz/ [accessed: Aug-09-2021]
  • https://pypi.org/project/autoviz/ [accessed: Aug-09-2021]

技术交流

欢迎转载、收藏、有所收获点赞支持一下!

在这里插入图片描述

目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式①、发送如下图片至微信,长按识别,后台回复:加群;
  • 方式②、添加微信号:dkl88191,备注:来自CSDN
  • 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

长按关注

版权声明
本文为[Python学习与数据挖掘]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_38037405/article/details/121530407

  1. Using Python 3 to make practical software for drawing modification
  2. About HTML (acceptable to Python)
  3. Python集成學習:自己編寫構建AdaBoost分類模型可視化决策邊界及sklearn包調用比較
  4. PYTHON用LSTM長短期記憶神經網絡的參數優化方法預測時間序列洗發水銷售數據
  5. Python Integrated Learning: Writing and Constructing adaboost Classification Model Visualized decision Boundary and sklearn package Calling Comparison
  6. Python prédit les données de vente de shampooing de séries chronologiques en utilisant la méthode d'optimisation des paramètres du réseau neuronal de mémoire à court et à long terme lstm
  7. [zero basics of Python to introduction] a prerequisite for Python preparatory knowledge -- basic coding specification of Python
  8. OpenCV对比度亮度变换竟能用来去水印(附Python/C++源码)
  9. [zero basics of Python to getting started] a prerequisite for Python preparatory knowledge -- installing the visualization tool pycharm
  10. The test modifies main.py in micro python
  11. Microphoton experimental circuit board based on mm32f3273 - does not work normally
  12. Run micropathon on mm32f3273 to test performance
  13. Design mm32f3277 micro Python experimental board with SD card
  14. Mm32f3277 corresponding interface files during microphoton migration
  15. Mm32f3277 microphoton experimental board design and software testing
  16. Making and testing mm32f3277 microphoton minimum circuit board
  17. Download mm32-link program automatically with Python simulated mouse
  18. A curriculum of "artificial intelligence Python machine learning and deep learning"
  19. Test the basic functions of mm32 microphoton test circuit board
  20. Test the basic functions of the mm32f3277 micro Python development board flying one by one
  21. Debugging mm32f3277 from zhufei, transplanted with micro Python development board
  22. Recognizing numbers using OpenCV and python
  23. 真的太香了,Python速查表终于出中文版了
  24. Django REST Framework(DRF)教程:快速入门
  25. python django objects filter过滤查询:startswith year
  26. Data encapsulation of Excel test cases in Python
  27. 学员管理系统python
  28. 肝了一夜,8000字概括精髓,pandas必知必会50例!
  29. Python竟然可以画漫画!漫画版的故宫导游图,来袭!
  30. Networkx graph theory Dijkstra algorithm shortest path implementation, Python
  31. Draw a HelloWorld with Python turtle Library
  32. 运行django的服务器内存使用偶尔跳高一点,重启服务马上下来,是内存泄露吧
  33. Basic usage of Python tqdm module in machine learning training
  34. Python -- basic usage method and basic template of argparse module
  35. python-sockertserver并发编程思想
  36. Programmation simultanée du serveur de sockets Python
  37. Vue+Django 旅游网项目 首页前端实现
  38. [learning notes] Python - pyecarts
  39. Python automated operation and maintenance -- actual combat (I)
  40. Classic usage of pandas: iloc and LOC of data filtering
  41. Python 多分支语句的三种结构
  42. Calendar module of Python time series
  43. Python 输出指定范围的闰年
  44. A super easy to use Python standard library. It's great to operate directories and files
  45. Fatal Python error: init_ fs_ encoding: failed to get the Python codec of the filesystem encoding
  46. Using Python to obtain a video address is as simple as
  47. #yyds干货盘点# 6. Python 元组,不可变的列表,滚雪球学 Python
  48. Yyds Dry Inventory # 6. Python tuples, invariant List, snowball Learning Python
  49. You cannot enter the registration page using Django registration redux
  50. 笨办法学Python第十八天:更多文件操作
  51. Python编辑代码,帮个忙呗
  52. pandas转换object为int失败了,有人能解答吗
  53. python解释题,解释这串,所代表的意思
  54. 用python用while语句写1000以内能被5和9整除的数和个数
  55. #python 我写了一个“饭店”程序
  56. Comprehensive application of Python foundation -- Development
  57. Écrivez en python le nombre et le nombre d'entiers qui peuvent être divisés par 5 et 9 jusqu'à 1000 dans une instruction while
  58. You can learn Python articles without reading online classes (day 4)
  59. You can learn Python articles without reading online classes (the third day)
  60. You can learn Python articles without reading online classes (the next day)