关于数据清洗和特征工程的 8 本最佳书籍

数据准备是将原始数据转换为更适合建模的形式。

这是一个颇具挑战性的话题,因为数据在形式、类型和结构上因项目而异。

尽管如此,项目之间存在常见的数据准备任务。这是一个庞大的研究领域,有许多名称,例如“数据清洗”、“数据整理”、“数据预处理”、“特征工程”等。其中一些是数据准备的具体任务,而有些术语则用于描述整个数据准备过程。

尽管这是一个具有挑战性的话题,但市面上有一些关于此主题的书籍。

在这篇文章中,您将发现关于数据清洗、数据准备、特征工程及相关主题的顶级书籍。

让我们开始吧。

通过我的新书 《机器学习数据准备》 启动您的项目,其中包含分步教程和所有示例的Python源代码文件。

概述

这里的重点是表格数据的准备,例如,电子表格中行和列形式的数据。

数据准备是所有数据类型的重要主题,尽管每种数据类型都需要专门的方法,例如计算机视觉中的图像数据、自然语言处理中的文本数据以及时间序列预测中的序列数据。

数据准备通常是机器学习教科书中的一个章节,尽管也有专门介绍该主题的书籍。我们将重点关注这些书籍。

我收集了所有我能找到的关于数据准备主题的书籍,选择了我认为最好或更佳的书籍,并将它们分为三类;它们是

  1. 数据清洗
  2. 数据整理
  3. 特征工程

我将尝试介绍每本书的特色,包括目标、目录和更多了解它的地方。

想开始学习数据准备吗?

立即参加我为期7天的免费电子邮件速成课程(附示例代码)。

点击注册,同时获得该课程的免费PDF电子书版本。

数据清洗

数据清洗是指在建模之前识别和修复数据中的错误,包括但不限于异常值、缺失值等。

数据清洗的顶级书籍包括

让我们依次仔细看看每一个。

《糟糕数据手册》

这本书《糟糕数据手册:清理数据,让你重回工作岗位》由 Q. Ethan Mccallum 编辑,于2012年出版。

糟糕数据不仅被描述为损坏数据,还包括任何影响建模过程的数据。

要准确定义“糟糕数据”是很困难的。有些人认为它是一个纯粹的动手实践、技术现象:缺失值、格式错误的记录和老旧的文件格式。当然,这只是其中的一部分,但糟糕数据远不止这些。[...] 糟糕数据就是阻碍前进的数据。

— 第1页,《糟糕数据手册:清理数据,让你重回工作岗位》,2012年。

这是一本由19位机器学习从业者撰写的散文集,充满了数据准备和管理方面的宝贵见解。

《糟糕数据手册》

本书的完整目录如下。

  • 第一章:定调:什么是糟糕数据?
  • 第二章:是我的错觉,还是这数据闻起来不对劲?
  • 第三章:供人类消费的数据,而非机器消费
  • 第四章:隐藏在纯文本中的糟糕数据
  • 第五章:(重新)整理网络数据
  • 第六章:在矛盾的在线评论中检测说谎者和困惑者
  • 第七章:糟糕数据请站起来!
  • 第八章:汗水、血泪与尿液
  • 第九章:当数据与现实不符时
  • 第十章:偏见和错误的微妙来源
  • 第十一章:不要让完美主义成为优秀的敌人:糟糕数据真的糟糕吗?
  • 第十二章:数据库攻击时:何时坚持使用文件的指南
  • 第十三章:潜行的表格,隐藏的网络
  • 第十四章:云计算的迷思
  • 第十五章:数据科学的阴暗面
  • 第十六章:如何喂养和照顾你的机器学习专家
  • 第十七章:数据可追溯性
  • 第十八章:社交媒体:可擦除的墨水?
  • 第十九章:数据质量分析揭秘:知道何时你的数据足够好

我非常喜欢这本书;它充满了宝贵的实用建议。我强烈推荐它!

了解更多

《数据清洗最佳实践》

这本书《数据清洗最佳实践:收集数据前后所需一切的完整指南》由 Jason Osborne 撰写,于2012年出版。

这是一本更通用的关于面向计算的社会科学数据准备的教科书,而不是专门针对机器学习。尽管如此,它包含大量有用的建议。

我写这本书的目的是在一个地方收集我认为的数据清洗最佳实践的系统概述——这些是我可以证明能改变你的数据分析结果的事情。我试图改变现状,改变社会科学(及其他领域)定量研究的现状。

— 第2页,《数据清洗最佳实践:收集数据前后所需一切的完整指南》,2012年。

Best Practices in Data Cleaning

《数据清洗最佳实践》

本书的完整目录如下。

  • 第一章:数据清洗的重要性:揭穿稳健性的迷思
  • 第二章:数据收集的力量与规划:揭穿充分权力的迷思
  • 第三章:忠实于目标人群:揭穿代表性的迷思
  • 第四章:在概率抽样框架中使用大型数据集:揭穿平等的迷思
  • 第五章:筛查数据以发现潜在问题:揭穿完美数据的迷思
  • 第六章:处理缺失或不完整数据:揭穿空无的迷思
  • 第七章:极端数据点和有影响力的数据点:揭穿平等的迷思
  • 第八章:通过 Box-Cox 变换改善变量的正态性:揭穿分布相关性迷思
  • 第九章:可靠性重要吗?揭穿完美测量的迷思
  • 第十章:随机应答、动机性误答和应答集:揭穿有动机的参与者迷思
  • 第十一章:为什么将连续变量二值化很少是好的做法:揭穿分类的迷思
  • 第十二章:清洗重复测量数据的特殊挑战:许多容易出错的地方
  • 第十三章:既然迷思已被揭穿……:21世纪理性定量方法学愿景

我认为这是一本很棒的通用数据准备技术参考指南,鉴于其更强的统计学重点,其覆盖范围可能比大多数“机器学习”重点的书籍要好。

了解更多

《数据清洗》

这本书《数据清洗》由 Ihab IlyasXu Chu 撰写,并于2019年出版。

顾名思义,本书侧重于在建模之前修复原始数据中错误的各种数据清洗技术。

数据清洗用于指代各种用于检测和修复数据中错误的任务和活动。在本书中,我们不侧重于某个特定的数据清洗任务,而是概述了端到端的数据清洗过程,描述了各种错误检测和修复方法,并尝试通过多个分类法和观点来锚定这些提议。

— 第 ixx 页,《数据清洗》,2019年。

Data Cleaning

数据清洗

本书的完整目录如下。

  • 第一章:引言
  • 第二章:异常值检测
  • 第三章:数据去重
  • 第四章:数据转换
  • 第五章:数据质量规则定义与发现
  • 第六章:基于规则的数据清洗
  • 第七章:机器学习与概率数据清洗
  • 第八章:结论与未来展望

它更像一本教科书而不是一本实践书,适合希望同时回顾方法和原始研究论文引用的学者和研究人员。

了解更多

数据整理

数据整理是一个更广泛或通俗的术语,用于描述数据准备,可能包括一些数据清洗和特征工程。

数据整理的顶级书籍包括

让我们依次仔细看看每一个。

《Python 数据整理》

这本书《Python 数据整理:让你的生活更轻松的技巧和工具》由 Jacqueline KazilKatharine Jarmul 撰写,并于2016年出版。

本书的重点是帮助您将原始数据转化为适合建模的工具和方法。

数据整理就是将混乱或未精炼的数据源转化为有用的东西。

— 第 xii 页,《Python 数据整理:让你的生活更轻松的技巧和工具》,2016年。

这是一本适合初学者的书籍,适合那些开始使用 Python 进行数据准备和建模的人,例如 Excel 用户。

这本书适合那些希望探索桌面工具之外的数据整理的人。如果您擅长 Excel 并希望将数据分析提升到一个新的水平,这本书将有所帮助!

— 第 xii 页,《Python 数据整理:让你的生活更轻松的技巧和工具》,2016年。

Data Wrangling with Python

使用 Python 进行数据整理

本书的完整目录如下。

  • 第一章:Python 入门
  • 第二章:Python 基础
  • 第三章:机器可读的数据
  • 第四章:处理 Excel 文件
  • 第五章:PDF 和 Python 中的问题解决
  • 第六章:获取和存储数据
  • 第七章:数据清理:调查、匹配和格式化
  • 第八章:数据清理:标准化和脚本编写
  • 第九章:数据探索与分析
  • 第十章:展示你的数据
  • 第十一章:网络爬虫:从网络获取和存储数据
  • 第十二章:高级网络爬虫:屏幕爬虫和爬虫
  • 第十三章:API
  • 第十四章:自动化与扩展
  • 第十五章:结论

如果您刚开始使用 Python 进行数据加载和组织,这本书是必选。

了解更多

《数据整理原则》

这本书《数据整理原则:数据准备的实用技术》由 Tye Rattenbury 等人撰写,并于2017年出版。

数据整理用于描述与数据准备建模相关的所有任务。

数据整理这个短语,诞生于敏捷分析的现代背景下,旨在描述人们花费在处理数据上的绝大部分时间。

— 第 ix 页,《数据整理原则:数据准备的实用技术》,2017年。

Principles of Data Wrangling

《数据整理原则》

本书的完整目录如下。

  • 第一章:引言
  • 第二章:数据工作流框架
  • 第三章:数据整理的动态
  • 第四章:剖析
  • 第五章:转换:结构化
  • 第六章:转换:丰富化
  • 第七章:使用转换清理数据
  • 第八章:角色与职责
  • 第九章:数据整理工具

这本书写得不错,但非常宏观。可能更适合管理者而非实践者。例如,我没看到一行代码。

了解更多

《R 数据整理》

这本书《R 数据整理》由 Bradley Boehmke 撰写,并于2016年出版。

顾名思义,本书侧重于使用 R 进行数据准备。

在本书中,我将帮助您学习数据预处理的要点,利用 R 编程语言轻松快速地将嘈杂的数据转化为可用的信息片段。

— 《使用 R 进行数据整理》,2016年,第v页。

这是一本实用的书。它包含许多简短、集中的章节,并提供特定问题的代码示例,这些问题将在数据准备过程中遇到。与本次盘点的许多其他宏观书籍相比,这是一个令人欣慰的改变。

Data Wrangling with R

《R 数据整理》

本书的完整目录如下。

  • 第一章:数据整理的角色
  • 第二章:R 入门
  • 第三章:基础知识
  • 第四章:处理数字
  • 第五章:处理字符字符串
  • 第六章:处理正则表达式
  • 第七章:处理因子
  • 第八章:处理日期
  • 第九章:数据结构基础
  • 第十章:管理向量
  • 第十一章:管理列表
  • 第十二章:管理矩阵
  • 第十三章:管理数据框
  • 第十四章:处理缺失值
  • 第十五章:导入数据
  • 第十六章:爬取数据
  • 第十七章:导出数据
  • 第十八章:函数
  • 第十九章:循环控制语句
  • 第二十章:使用 %> % 简化您的代码
  • 第二十一章:使用 tidyr 重塑您的数据
  • 第二十二章:使用 dplyr 转换您的数据

我是这本书的粉丝,如果您使用 R,您需要一本。缺点是这本书中有太多的 R 基础知识。我宁愿省略这些,并将读者指向一本入门 R 书籍,稍微提高对读者的要求。

了解更多

特征工程

特征工程是指从原始数据创建新的输入变量,尽管它也泛指更广泛的数据准备。

特征工程的顶级书籍包括

让我们依次仔细看看每一个。

《特征工程与选择》

这本书《特征工程与选择:预测模型的实用方法》由 Max KuhnKjell Johnson 撰写,并于2019年出版。

本书将准备用于建模的原始数据的一般过程描述为特征工程。

调整和重做预测变量,以使模型能够更好地揭示预测变量-响应关系,这被称为特征工程。

— 第 xi 页,《特征工程与选择:预测模型的实用方法》,2019年。

本书中的示例使用 R 进行演示,这很重要,因为作者 Max Kuhn 也是流行的 caret 包的创建者。

本书的一个重要观点是,数据准备不仅仅是为了满足建模算法的期望;它还需要最好地揭示问题的底层结构,需要迭代的试错。这与我通常采取的观点相同,而且在一本现代书籍中看到这一点令人耳目一新。

……我们通常不知道最佳的预测变量表示方法来提高模型性能。相反,预测变量的重做更像是一门艺术,需要正确的工具和经验来寻找更好的预测变量表示。此外,我们可能需要搜索许多替代的预测变量表示来提高模型性能。

— 第 xii 页,《特征工程与选择:预测模型的实用方法》,2019年。

Feature Engineering and Selection

特征工程与选择

本书的完整目录如下。

  • 第一章:引言
  • 第二章:说明性示例:预测心脏病发作风险
  • 第三章:预测建模过程回顾
  • 第四章:探索性可视化
  • 第五章:编码分类预测变量
  • 第六章:数值预测变量工程
  • 第七章:检测交互作用
  • 第八章:处理缺失数据
  • 第九章:使用剖析数据
  • 第十章:特征选择概述
  • 第十一章:贪婪搜索方法
  • 第十二章:全局搜索方法

我认为这本书是必不可少的,即使 R 不是您的主要语言。仅讨论方法的广度就值回票价。

了解更多

《机器学习特征工程》

这本书《机器学习特征工程:数据科学家的原则与技术》由 Alice ZhengAmanda Casari 撰写,并于2018年出版。

我认为这本书的前言定义最直接,它将特征定义为模型的数值输入,而特征工程是获取原始数据中有用的数值特征。非常清晰!

特征是原始数据某个方面的数值表示。特征位于机器学习管道中的数据和模型之间。特征工程是从原始数据中提取特征并将其转换为适合机器学习模型格式的行为。

— 第 vii 页,《机器学习特征工程:数据科学家的原则与技术》,2018年。

示例使用 Python,并侧重于使用 NumPy 和 Pandas,并且有许多已完成的示例,这非常棒。我认为这是一本很好的姊妹书或 Python 版的《R 数据整理》或《特征工程与选择》,尽管覆盖范围可能较少。

Feature Engineering for Machine Learning

机器学习的特征工程

本书的完整目录如下。

  • 第一章:机器学习管道
  • 第二章:简单数字的炫酷技巧
  • 第三章:文本数据:展平、过滤和分块
  • 第四章:特征缩放的影响:从词袋模型到 TF-IDF
  • 第五章:分类变量:在机器人鸡的时代数鸡蛋
  • 第六章:降维:用 PCA 压缩数据
  • 第七章:通过 K-Means 模型堆叠进行非线性特征化
  • 第八章:自动化特征提取器:图像特征提取与深度学习
  • 第九章:回到未来:构建学术论文推荐系统
  • 附录 A:线性建模与线性代数基础

我喜欢这本书。

我猜我更愿意省略数学部分,并将读者引导至一本教科书。我也更希望示例侧重于机器学习建模管道,而不是独立的转换。但我是在吹毛求疵,并大力提倡针对特定项目提供直接可用的代码。

了解更多

建议

您必须根据您的需求选择适合您的书籍,例如代码还是教科书,Python 还是 R。

我拥有所有这些书,但我推荐的是这两本

原因是喜欢实用书籍,并且在探索要尝试的方法时喜欢 R 和 Python 的视角。

紧随其后的是

第一本非常实用;第二本充满了超级有帮助(但超级具体)的建议。

对于大多数研究人员需要参考的教科书,我可能会推荐

总结

在这篇文章中,您发现了关于数据清洗、数据准备、特征工程及相关主题的顶级书籍。

我是否遗漏了关于数据准备的好书?
在下面的评论中告诉我。

您读过这里列出的任何一本书吗?
请在评论中告诉我您的想法。

掌握现代数据准备!

Data Preparation for Machine Learning

在几分钟内准备好您的机器学习数据

...只需几行python代码

在我的新电子书中探索如何实现
机器学习数据准备

它提供**自学教程**,并附有关于以下内容的**完整工作代码**:
*特征选择*、*RFE*、*数据清洗*、*数据转换*、*缩放*、*降维*,以及更多...

将现代数据准备技术引入
您的机器学习项目


查看内容

对《8 本关于数据清洗和特征工程的顶级书籍》的21条回复

  1. Toy 2020年7月1日 12:19 下午 #

    非常感谢 Jason 整理的这个列表 😉

    顺便问一下,您将来是否计划创建自己的在线课程来教授这些内容?我将是第一个订阅的!

  2. Bhavani 2020年7月1日 2:23 下午 #

    您有关于使用 shap 值、lime 或 eli5 等进行特征工程的书吗?

  3. KVS Setty 2020年7月2日 4:28 下午 #

    非常感谢您提供的这份带有简短评论的列表,对像我这样的对该主题充满渴望的读者帮助很大。期待并感谢您对 DS、SL、ML 和 DL 的类似评论。

    • Jason Brownlee 2020年7月2日 5:41 下午 #

      谢谢。

      我也有类似的评论,您可以在博客上搜索“书籍评论/汇总”帖子。

  4. Siddhartha Saha 2020年7月5日 3:57 下午 #

    有哪些不同的特征工程技术?

  5. Dzung Nguyen 2020年7月30日 2:23 下午 #

    我认为这些教科书和实用书籍同样有帮助,尤其是对我这样对数据工程一无所知的人。我将从您上面列表中的教科书开始。非常感谢。
    我还看到很多数学知识,尤其是线性代数,这很难理解。您能推荐一些这方面的书籍吗?

  6. Marin 2020年10月18日 12:56 下午 #

    您好,感谢分享所有这些很棒的资料。我想知道您是否有关于概率的书籍?也许是与机器学习相关的。谢谢!

  7. Hamdi 2021年1月4日 3:26 下午 #

    非常感谢您提供的这份精心整理的列表及其简短评论。

  8. Jarrell R Dunson 2021年1月6日 3:15 上午 #

    Jason

    供您参考,我应用了“调整分数”(类似烂番茄的计算方法),用于计算亚马逊上的投票数和平均票数(截至2021年1月5日)。

    这是方法论
    https://www.quora.com/How-are-the-adjusted-scores-on-Rotten-Tomatoes-Best-and-Worst-Best-Pictures-list-calculated (我随意使用了一个最少投票数40)。

    这是结果(加上亚马逊上列出的其他几本书)

    排名 截至2021年1月5日的排名
    3.29 《特征工程与选择》
    3.28 《机器学习特征工程》
    3.12 《数据清洗最佳实践》
    3.00 《Python 数据整理》
    3.01 《特征工程入门》
    2.95 《糟糕数据手册》
    2.90 《Python 数据清洗食谱》
    2.87 《R 数据整理》
    2.87 《Python 特征工程食谱》
    2.76 《数据整理原则》
    2.69 《特征工程艺术》
    0.00 《数据清洗》(零分,因为它在亚马逊上还没有评分)

  9. Jarrell R Dunson 2021年1月6日 3:17 上午 #

    更具体的数字…

    排名 评分/投票数 截至2021年1月5日的排名
    3.29 4.5 26 《特征工程与选择》
    3.28 4 43 《机器学习特征工程》
    3.12 4.5 18 《数据清洗最佳实践》
    3.00 5 10 《Python 数据整理》
    3.01 4.3 16 《特征工程入门》
    2.95 3.8 21 《糟糕数据手册》
    2.90 4.7 9 《Python 数据清洗食谱》
    2.87 4.7 8 《R 数据整理》
    2.87 4.1 12 《Python 特征工程食谱》
    2.76 3.9 9 《数据整理原则》
    2.69 4.2 5 《特征工程艺术》
    0.00 0 0 《数据清洗》

发表评论

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。