专栏首页数据派THU独家 | 一文带你读懂特征工程!

独家 | 一文带你读懂特征工程!

作者:Bhalchandra Madhekar

翻译:陈之炎

校对:张玲

本文约1800字,建议阅读7分钟

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

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

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

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

  • 先是获取原始数据
  • 然后利用数据处理技术,从这些数据中获取、处理和提取有意义的特征和属性
  • 最后,通常利用统计模型或机器学习模型等技术对这些特征进行建模

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

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

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

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

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

什么是特征?

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

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

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

  • 固有的原始特征是直接从数据集获得的,没有额外的数据操作。
  • 派生特征通常是从特征工程中获得的,是从现有的数据属性中提取出来的特征。

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

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

特征工程

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

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

原文标题:Feature Engineering

原文链接:https://dzone.com/articles/feature-engineering-1

译者简介

陈之炎,北京交通大学通信与控制工程专业毕业,获得工学硕士学位,历任长城计算机软件与系统公司工程师,大唐微电子公司工程师,现任北京吾译超群科技有限公司技术支持。目前从事智能化翻译教学系统的运营和维护,在人工智能深度学习和自然语言处理(NLP)方面积累有一定的经验。业余时间喜爱翻译创作,翻译作品主要有:IEC-ISO 7816、伊拉克石油工程项目、新财税主义宣言等等,其中中译英作品“新财税主义宣言”在GLOBAL TIMES正式发表。能够利用业余时间加入到THU 数据派平台的翻译志愿者小组,希望能和大家一起交流分享,共同进步

本文分享自微信公众号 - 数据派THU(DatapiTHU),作者:Bhalchandra

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 手把手教你用R处理常见的数据清洗问题(附步骤解析、R语言代码)

    R是进行运算、清洗、汇总及生成概率统计等数据处理的一个绝佳选择。此外,由于它独立于平台、短期内不会消失,所以生成的程序可以在任何地方运行。并且,它具备非常棒的辅...

    数据派THU
  • 大数据战略:从数据大国到数据强国

    [ 导读 ]海量数据空前集聚和计算力指数级增长释放了深度学习算法的生产力,推动人工智能应用大发展。大数据技术和大数据产业蓬勃发展为线上互联网和线下实体经济带来了...

    数据派THU
  • 不忘初心,砥砺前行——写在数据院成立四周年之际

    数据派THU
  • 用小数据集进行原型设计结果的小技巧

    本文作者是 Kanda 的机器学习工程师 Daniel Rothmann,他对一切具有变革性的事物都感兴趣,这里是他在和客户合作的过程中总结出的小数据处理方法。...

    AI研习社
  • 白宫发布:大数据与医疗、教育

    大数据文摘
  • 我国首个大数据交易行业规范出台

    大数据文摘
  • 2018-08-05 3W+字长文深度总结|程序员面试题精华版集合(内附思维导图)!Java Web学习路径Java编程所需的工具及知识JVM的基本结构SSH框架设计模式之间的关系

    原文地址:https://juejin.im/entry/5b6259036fb9a04fa42fce3c

    Albert陈凯
  • 你真的需要那么多报表么?

    企业对于数据的重视程度越来越高,很多业务部门也深刻意识到了数据的重要性,希望通过数据挖掘出动态变化,复杂,跨域多渠道的,内外部集成的业务现象背后的逻辑,从而来指...

    凯哥
  • 数据科学家必看!处理数据的 7 个小技巧

    在没有最基本的、必要的、未经处理数据的情况下,我们应该如何为机器学习的概念建立原型并加以验证呢?在资源匮乏的情况下,我们应如何有效地获取并用数据创造价值?

    AI研习社
  • 博客 | 「特征工程」与「表示学习」

    当我们学习一个复杂概念时,总想有一条捷径可以化繁为简。机器学习模型也不例外,如果有经过提炼的对于原始数据的更好表达,往往可以使得后续任务事倍功半。这也是表示学习...

    AI研习社

扫码关注云+社区

领取腾讯云代金券