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