作者:Jason Brownlee
翻译:李嘉骐
校对:王晓颖
本文约4300字,建议阅读9分钟
本文介绍了机器学习中常用的数据准备技术。
标签:初学者 机器学习 数据准备 特征工程
机器学习项目中的预测性建模总是涉及某种形式的数据准备工作,如分类和回归。
数据集所需的特定数据准备工作取决于数据的具体情况,比如变量类型,以及数据建模算法对数据的期望或要求。
然而,有一组标准的数据准备算法可以应用于结构化数据(例如电子表格)。这些数据准备算法可以按类型归入到一个框架中,这个框架有助于比较和选择特定项目所用的技术。
在本教程中,你将发现在预测性建模的机器学习任务中有一些常见的数据准备任务。
完成本教程后,你将知道:
诸如数据清洗之类的技术可以识别和修复数据中的错误,比如丢失的值
数据转换可以改变数据集中变量的尺度、类型和概率分布
特征选择和降维等技术可以减少输入变量的数量
在我的新书(https://machinelearningmastery.com/data-preparation-for-machine-learning/)中有30个分步教程和完整的Python源代码,你可以更深入的探索数据清洗、特性选择、数据转换、降维等内容。
让我们开始吧。
教程概述
本教程分为六个部分;它们是:
1. 常见数据准备任务
2. 数据清洗
3. 特征选择
4. 数据转换
5. 特征工程
6. 降维
常用数据准备任务
我们可以将数据准备定义为将原始数据转换为更适合建模的形式。
然而,在预测性建模中的数据准备步骤前后还有一些重要的步骤,它们能够提示将要执行哪些数据准备工作。
机器学习的应用过程由一系列步骤组成。
我们可以在任何给定项目的步骤之间来回跳转,但所有项目都有相同的一般性步骤;它们是:
第一步:定义问题。
第二步:准备数据。
第三步:评估模型。
第四步:最终确定模型。
我们关注的是数据准备步骤(步骤二),在机器学习项目的数据准备步骤中,你可以使用或探索一些常见或标准的任务。
数据准备工作的类型取决于你所使用的数据,这可能和你所预料的一样。
然而,当你处理多个预测性建模项目时,你会反复看到并用到相同类型的数据准备任务。
这些任务包括:
数据清洗:识别和纠正数据中的错误。
特征选择:找出与任务最相关的输入变量。
数据转换:改变变量的尺度或分布。
特征工程:从可用数据中推导新变量。
降维:创建缩减数据维数的映射。
以上提供了一个粗略的框架,在使用结构化或表格数据的给定的项目中,我们可以利用这一框架来思考和引导不同的数据准备算法。
让我们来进一步看看这些任务。
数据清洗
数据清洗(https://machinelearningmastery.com/basic-data-cleaning-for-machine-learning/)包括修复“杂乱无章”的数据中的系统性问题或错误。
最有用的数据清洗需要领域内的专业知识,涉及到识别和处理可能不正确的观察结果。
有许多原因导致数据可能不正确,例如错误输入、损坏、重复等等。某一领域的专业知识可以帮助发现那些与预期的不同的明显错误,比如一个人身高200英尺。
一旦发现杂乱、有噪声、损坏或错误的观测结果,就可以加以解决。