精选专栏

机器学习必备的 14 个博客
6 款机器学习模型可解释性工具包

数据科学爱好者知道,在将原始数据输入机器学习模型解决实际问题之前,需要对其进行大量处理。根据问题的类型(回归或分类),需要遵循一系列步骤来准备和格式化数据。为了探索数据集,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

这是一个开源 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]

(完)

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载黄海广老师《机器学习课程》视频课黄海广老师《机器学习课程》711页完整版课件

本站qq群955171419,加入微信群请扫码:

【Python】强烈建议你学这 3 个 Python AutoEDA 工具包!相关推荐

  1. 零基础自学python的建议-如何从零基础自学Python?

    谢邀! 其实这要看你是想学Python用来干嘛啦,因为会Python真的可以用很多事情,就算不是从事程序员,做工程师,用Python做爬虫,数据挖掘,一些自动化运用,无论在生活还是工作中,都会更加便捷 ...

  2. python自动化办公要学多久-深圳用python进行办公自动化都需要学习什么知识呢,谁来说下...

    深圳用python进行办公自动化都需要学习什么知识呢,说来大家都知道.关于深圳Python培训,那么就来详细看一下Python前景,主流编程语言,学会可以设计自己的游戏,Python对比PHP,OCR ...

  3. 新手学java还是python知乎_学java好还是Python好?

    首先我简单的说下目前的市场发展行情,Java和Python发行时间都有很多年了,但是或许你自己也应该清楚,Python是什么时候开始步入我们的生活,步入我们的眼线的,对,就是近几年,这几年随着培训机构 ...

  4. 树莓派python编程入门先学什么_树莓派Python编程入门与实战

    树莓派Python编程入门与实战 编辑 锁定 讨论 上传视频 本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 树莓派是一个只有信用卡大小的裸露电路板,它也是一个运行开源Lin ...

  5. python零基础能学吗 知乎-Python零基础学习能学好吗?老男孩Python面授班

    零基础学习Python真的可以学习好吗?我想对于这个问题,是大部分想要学习Python的人都会纠结考虑的问题吧,也是很多小白最关注的的问题,今天为大家详细的解释一下. Python语言因为具有一定的独 ...

  6. python和c 先学哪个-C和Python我该先学什么?

    入门语言,我推荐学习你感兴趣的语法:注意,是你感兴趣的语法. 要知道:兴趣乃最好的老师.兴趣乃学习之根本. 要了解自己对哪个语法感兴趣,可按如下步骤执行:借/买上一本 C 语言基础书籍.一本 Pyth ...

  7. python和c先学哪个-C 和 Python语言先学哪个好?

    提问:C和Python先学哪个好??? 度娘上有664万小伙伴和你一起纠结,搜狗上也有3万余人感到困惑,那么我们到底该如何选择呢?其实这并不是一个值得去思考的问题,因为兴趣是最好的老师,培养一个兴趣比 ...

  8. python和java先学哪个-java和python先学哪个

    作为世界上使用范围最广的编程语言,Java难免总是被拿来跟Python比较,而且,在编程语言的各种对战中,Python 与Java也是打得最热烈的. Java必须显式声明变量名,而动态类型的Pytho ...

  9. python和c先学哪个-C和Python我该先学什么?

    完善一下答案,谢谢知乎各位的支持,我点赞了金旭亮老师的答案,当然是觉得他说得有道理.但他是从另一个角度分析的,其实通过python找到了兴趣,还是要回来学C的,逃不掉.并不矛盾.(再次号召所有想学计算 ...

最新文章

  1. python编程300例_经典编程100例——python版(例9例10)
  2. java 通用取得 系统硬件信息及 jvm 信息的 jar 包 oshi-core
  3. pip安装了 但是python找不到_python安装完毕后,用pip安装提示找不到ssl模块怎么解决?...
  4. ccf_201712-2
  5. Linux expr命令、Linux wc命令、Linux let 命令
  6. Embree:照片级光线追踪内核
  7. akka mysql_Spray + Akka高性能异步IO并发
  8. Python基础知识 D2
  9. 简述中断和 DMA 的区别。
  10. 字谜游戏(b)C语言
  11. ****怎么解决UBUNTU里面VIM编辑器键盘错乱问题****
  12. 原生代码开发小米官网首页
  13. android通过辅助功能收集数据
  14. 三星云服务S Cloud亮相 与苹果iCloud为敌
  15. java中speak方法的意思_Java中的關鍵字
  16. python 横坐标只显示部分数据_解决echarts中横坐标值显示不全(自动隐藏)问题
  17. 怎样下载谷歌最新版100.0.4896.127chromedriver
  18. CPU基本结构和运行原理
  19. window.onload和window.document.readystate的探究
  20. 色彩模式yuv420p与RGB24转换

热门文章

  1. XHProf报告字段含义
  2. HTML系列(七):多媒体
  3. SQL Server AlwaysOn中的几个误区
  4. 表格隔行变色_CSS实现鼠标悬停高亮
  5. ajax 延迟显示加载中提示
  6. 谈谈你对MVC和三层架构的理解?(月薪三万的面试题)
  7. 查看oracle 的数据文件的版本信息
  8. 数据库-统计信息相关资料
  9. 微信支付退款结果通知解密 base64_decode / md5 / AES
  10. JDK各版本新特性总结