来自系列:应用机器学习
亚当•Filion MathWorks
探索如何执行功能工程,一种将原始数据转换为适合于机器学习算法的功能的技术。
特征工程从您最猜测的开始,WhatFeaturesMight影响您正在尝试预测的动作。之后,它是一个迭代过程,在其中创建新功能,将它们添加到模型中,看看您的结果是否有所改善。
本视频提供了该主题的高级概述,并使用几个例子来说明特征工程背后的基本原理,以及从信号、文本和图像中提取特征的现有方法。
机器学习算法并不总是能很好地处理原始数据。作为工程师和科学家,我们的部分工作就是转换原始数据,让机器学习算法更容易看到系统的行为。这被称为特性工程。
特征工程从您的最佳猜测开始,关于哪些功能可能会影响您想要预测的东西。之后,它是一个迭代过程,在其中创建新功能,将它们添加到模型中,并查看结果是否有所改进。
让我们举一个简单的例子,我们想预测一个航班是否会延误。
在原始数据中,我们有航班月份、目的地和星期几等信息。
如果我符合此数据的决策树,我将获得70%的准确性。我们还能从这些数据计算哪些可能有助于提高我们的预测?
每天的航班数是多少?某些日子的航班比其他日子多,这可能意味着它们更有可能被延误。
我已经在应用程序中从我的数据集中获得了这个特性,所以让我们添加它并重新训练模型。你可以看到模型的准确率提高到了74%。仅仅添加一个特性就已经不错了。
特性工程通常被认为是一种创造性的过程,与其说是一门科学,不如说是一门艺术。没有正确的方法可以做到这一点,但是如果你有领域的专业知识和对数据的深刻理解,你将处于一个很好的位置来执行特性工程。正如您稍后将看到的,用于特性工程的技术您可能已经很熟悉了,但是您以前可能没有在这个上下文中想到过它们。
我们来看另一个更有趣的例子。在这里,我们试图通过对心脏发出的声音进行分类来预测它是正常的还是不正常的。
声音以音频信号的形式出现。我们可以设计特征,然后使用这些值来训练模型,而不是在原始信号上进行训练。
最近,深入学习方法正在变得流行,因为它们需要更少的手动功能工程。相反,该功能被吸取为培训过程的一部分。虽然这通常显示出非常有前途的结果,但深度学习模型需要更多的数据,需要更长时间训练,并且产生的模型通常不太解释,而不是如果您手动工程师的功能。
我们用于分类心脏声音的功能来自信号处理领域。我们计算了诸如散裂,峰氏,频率和主导频率之类的东西。这些计算提取了使模型更容易区分异常心声和正常的特征。
那么人们还会使用哪些功能呢?许多人使用传统的统计技术,如平均值、中位数和众数,以及计算发生事件的次数等基本内容。
许多数据都有一个与之相关的时间戳。您可以从可能改善模型性能的时间戳中提取许多功能。什么月份,或一周的一天,或一天的一天?是一个周末还是假期?例如,如果您试图预测人们使用多少电力,这些功能在确定人类行为方面发挥着重要作用。
另一类特性工程与文本数据有关。计算特定单词在文本中出现的次数是一种技术,它通常与术语-频率-反文档-频率等规范化技术结合使用。Word2vec是另一种流行的文本特征工程技术,它将单词转换为高维向量表示。
我谈论的最后一类技术必须与图像有关。图像包含大量信息,因此您经常需要提取重要部分。传统技术计算颜色的直方图或施加哈尔小波等变换。最近,研究人员已经开始使用卷积神经网络来提取图像的特征。
根据您所处理的数据类型,使用我们讨论过的各种技术可能是有意义的。特性工程是一个反复试验的过程。知道一个特性是否有用的唯一方法是将它添加到模型中,并检查它是否改善了结果。
为了包装,这是一个简短的特征工程的解释。我们网站上有更多的示例,所以检查它们。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。