Bhalchandra Madhekar作者张玲翻译

一文带你读懂特征工程!

本文描述了一个典型的基于跨行业标准流程的标准机器学习管道,作为数据挖掘行业的标准过程模型。

无论它的规模和大小如何,数据已经成为现代企业、公司和组织的一流资产。任何一个智能系统都需要数据驱动,无论它多复杂。每个智能系统的核心,均有一个或多个基于某种数据学习方法的算法,例如机器学习深度学习或统计方法,它们利用这些数据来生成知识,并在一段时间内提供智能洞察。

算法本身是非常通用的,但无法在普通原始数据上有效发挥作用。因此,需要从原始数据中提取有意义的特征,我们才能够理解和使用这些数据。

任何一个智能数据洞察系统基本上都由端到端的管道组成:

  • 先是获取原始数据

  • 然后利用数据处理技术,从这些数据中获取、处理和提取有意义的特征和属性

  • 最后,通常利用统计模型机器学习模型等技术对这些特征进行建模

如果有必要的话,还需要根据手头要解决的问题部署该模型以供将来使用。

获取原始数据后,直接在数据之上构建模型是鲁莽的,因为我们无法从普通原始数据中获得想要的结果或性能,而且算法本身也不会自动从中提取有意义的特征。在上图中指出的数据准备方面,在对原始数据进行必要的清洗、预处理分析之后,便可以采用多种方法从中提取有意义的属性或特征。特征工程是一门艺术,也是一门科学,这也是为什么数据科学家在建模之前通常会把70%的时间花在数据准备上。

 “特征工程是将原始数据转化为特征的过程,这些特征可以更好地向预测模型描述潜在问题,从而提高模型对未见数据的准确性。”

-Jason Brownlee博士

这让我们深入了解了为什么特征工程是一个将数据转化成作为机器学习模型输入的特征的过程,换句话说,高质量的特征有助于提高模型整体的性能和准确性。特征在很大程度上与基本问题相关联。

因此,即使机器学习任务在不同的场景中可能是相同的,比如将物联网事件分类为正常和异常行为,或者将客户情绪分类,但每个场景中提取的特征都会有很大的不同。

什么是特征?

特征通常是建立在原始数据之上的特定表示,它是一个单独的可测量属性,通常用数据集中的列表示。对于一个通用的二维数据集,每个观测值由一行表示,每个特征由一列表示,对于每一个观测具有一个特定的值。

因此,就像上图中的例子一样,每行通常表示一个特征向量,所有观察到的全部特征集形成一个二维特征矩阵,也称为特征集。这类似于用来表示二维数据的数据框或电子表格。机器学习算法通常与这些数值矩阵或张量一起工作,因此绝大多数特征工程技术都是将原始数据转换为一些数值表达,以便算法理解。

基于数据集的特征可以分为两大类:

  • 固有的原始特征是直接从数据集获得的,没有额外的数据操作。

  • 派生特征通常是从特征工程中获得的,是从现有的数据属性中提取出来的特征。

举一个简单的例子:通过将当前日期减去订单日期,可以从包含“订单日期”的订单数据集中创建一个新的“订单履行日期”。另一方面,在特定的深度学习算法中,特征通常比较简单,因为算法本身会内部转化数据。这种方法需要的数据量会比较大,并以牺牲解释性为代价。然而,在图像处理自然语言处理用例中,这样的折中方法往往是值得的。

对于公司面临的大多数其他用例,例如预测分析,特征工程是将数据转换成机器学习所需要的格式。特征的选择对模型的解释性和性能都至关重要。如果没有特征工程,今天的大公司就无法部署精确的机器学习系统。

特征工程

数值数据通常以标量值的形式描述观测、记录或测量数据。在这里,我们所说的数值数据是指连续数据,而不是通常用来表示分类数据的离散数据。数值数据也可以是向量值,其中向量中的每个值或实体都可以表示一个特定的特征。整数和浮点数是连续数值数据中最常见和最广泛使用的数值数据类型。

即使数值数据可以直接输入机器学习模型,在构建模型之前,仍然需要设计与场景、问题和领域相关的特征。因此,对特性工程的需求仍然存在。

THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

入门特征工程
131
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

分类数据技术

一种特征,拥有一组离散的可能值。以某个名为 house style 的分类特征为例,该特征拥有一组离散的可能值(共三个),即 Tudor, ranch, colonial。通过将 house style 表示成分类数据,相应模型可以学习 Tudor、ranch 和 colonial 分别对房价的影响。 有时,离散集中的值是互斥的,只能将其中一个值应用于指定样本。例如,car maker 分类特征可能只允许一个样本有一个值 (Toyota)。在其他情况下,则可以应用多个值。一辆车可能会被喷涂多种不同的颜色,因此,car color 分类特征可能会允许单个样本具有多个值(例如 red 和 white)。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

特征工程技术

特征工程是利用数据所在领域的相关知识来构建特征,使得机器学习算法发挥其最佳的过程。它是机器学习中的一个基本应用,实现难度大且代价高。采用自动特征工程方法可以省去采用人工特征工程的需求。Andrew Ng 说“挖掘特征是困难、费时且需要专业知识的事,应用机器学习其实基本上是在做特征工程。”

图像处理技术

图像处理是指对图像进行分析、加工和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

推荐文章
H4OPro
上海交通大学・软件工程・硕士
图1有点看不清