从系列:应用机器学习
亚当福音,Mathworks
探索如何执行特征工程,一种将原始数据转换为适合机器学习算法的特征的技术。
功能工程从您的 best guess 开始,了解 功能 可能会影响您试图预测的动作。在此之后,这是一个迭代的过程,你可以创建新的特性,将它们添加到你的模型中,然后看看你的结果是否得到了改进。
该视频提供了该主题的高级概述,它使用了几个例子来说明特征工程背后的基本原理,并建立了从信号,文本和图像中提取功能的方法。
机器学习算法并不总是在原始数据上工作。作为工程师和科学家的一部分,我们的工作人员是改变原始数据,使系统的行为更加明显到机器学习算法。这称为特色工程。
特性工程首先要猜测哪些特性可能会影响您试图预测的内容。在此之后,这是一个迭代的过程,您可以创建新特性,将它们添加到您的模型中,然后看看结果是否得到改进。
让我们拍一个简单的例子,我们想要预测航班是否会延迟。
在原始数据中,我们有飞行月份、目的地和星期几等信息。
如果我将决策树与这个数据进行匹配,我将得到70%的准确率。我们还能从这些数据中计算出什么来帮助改善我们的预测呢?
嗯,每天航班数量如何?有些航班在某些时候比其他航班有更多的航班,这可能意味着他们更有可能被推迟。
我已经从应用程序中的数据集中拥有此功能,因此让我们添加并恢复模型。您可以看到模型准确性提高到74%。不糟糕只是添加一个功能。
特征工程通常被称为创造性的过程,更多的艺术而不是科学。没有正确的方法来做到这一点,但如果您有域专业知识和对数据的稳固了解,那么您将处于执行功能工程的良好位置。正如您在稍后会看到的那样,用于特征工程的技术是您可能已经熟悉的东西,但您可能无法在此背景下考虑它们。
让我们看看另一个更有趣的例子。在这里,我们试图通过分类它所做的声音来预测心脏正常或异常表现。
声音以音频信号的形式出现。我们可以使用原始信号训练,而不是培训,然后使用这些值来训练模型。
最近,深度学习方法变得越来越流行,因为它们需要更少的人工特征工程。相反,这些特征是作为训练过程的一部分来学习的。虽然这通常会显示出非常有前途的结果,但深度学习模型需要更多的数据,需要更长的时间来训练,并且生成的模型通常比手工设计特性更难解释。
我们用于心音分类的特征来自于信号处理领域。我们计算了偏度、峰度和主频。这些计算提取的特征使模型更容易区分异常心音和正常心音。
那么人们可以使用哪些其他功能?许多人使用像均值,中位数和模式等传统统计技术,以及计算出现的次数的基本事物。
许多数据都有一个与之相关联的时间戳。您可以从时间戳中提取许多特性,这些特性可以提高模型的性能。是哪一个月,哪一天,哪一个小时?这是周末还是假期?这些特征在决定人类行为方面发挥着重要作用,例如,如果你试图预测人们使用多少电力。
另一类特征工程与文本数据有关。计数某些单词在文本中发生的次数是一种技术,该技术通常与术语频率逆文档频率等归一化技术组合。Word2VEC,其中单词被转换为高维矢量表示,是另一个用于文本的流行的特征工程技术。
我要讲的最后一类技术与图像有关。图像包含大量信息,因此通常需要提取重要的部分。传统的方法是计算颜色的直方图或应用变换,如Haar小波。最近,研究人员已经开始使用卷积神经网络从图像中提取特征。
根据您正在使用的数据类型,使用我们讨论的各种技术可能有意义。功能工程是试用和错误过程。知道功能是否有任何好处的唯一方法是将其添加到模型中,并检查它是否提高了结果。
最后,这是对特性工程的简要解释。我们的网站上有更多的例子,所以去看看吧。
您也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳的网站性能。其他MathWorks国家网站没有针对您所在位置的访问进行优化。