从系列:应用机器学习
亚当•Filion MathWorks
探索如何执行功能的工程,用于将原始数据转换成适合于机器学习算法功能的技术。
Feature engineering starts with your best guess about what features might influence the action you’re trying to predict. After that, it’s an iterative process where you create new features, add them to your model, and see if your results have improved.
本视频提供了该主题的高级概述,并使用几个示例说明特征工程背后的基本原则,以及从信号、文本和图像提取特征的已建立的方法。
机器学习算法并不总是对原始数据有效。作为工程师和科学家,我们的工作之一就是转换原始数据,让机器学习算法更清楚地了解系统的行为。这被称为特性工程。
特点工程开始于什么功能可能会影响你试图预测的事情你最好的猜测。在此之后,它就是你创建新的功能一个反复的过程,将它们添加到您的模型,并查看结果是否提高。
举个简单的例子,我们想预测航班是否会晚点。
在原始数据,我们有信息,如飞行,目的地,和星期的一个月。
如果我适合决策树只是这个数据,我会得到70%的准确度。我们可以从这些数据计算出些什么,这可能有助于改善我们的预测?
每天的航班数是多少?有些日子的航班比其他日子多,这可能意味着航班延误的可能性更大。
我已经从应用程序的数据集中获得了这个特性,所以让我们添加它并重新训练这个模型。你可以看到模型的精度提高到74%。仅仅添加一个特性就已经很不错了。
特性工程通常被认为是一种创造性的过程,更像是一种艺术而不是一门科学。没有正确的方法可以做到这一点,但是如果您有领域的专业知识和对数据的充分理解,那么您将处于执行特性工程的有利位置。正如您稍后将看到的,用于特性工程的技术是您可能已经熟悉的东西,但是您以前可能没有在这个上下文中考虑过它们。
让我们看另一个更有趣的例子。这里,我们试图通过分类心脏发出的声音来预测心脏的行为是正常还是不正常。
声音以音频信号的形式出现。我们不用对原始信号进行训练,而是可以对特征进行设计,然后使用这些值来训练模型。
近日,深学习方法越来越受欢迎,因为它们需要较少的手动功能的工程。但是,这些功能被学习为训练过程的一部分。虽然这常常表现出非常乐观的结果,深度学习模型需要更多的数据,需要更长的时间来培训,并将得到的模型通常比如果你要手动工程师功能少解释。
我们使用分类心脏的声音特点来自于信号处理领域。我们计算的东西,如偏度,峰度,和主频率。这些计算提取的特点,使它更容易为模型的心脏异常的声音和一个正常的区分。
那么人们还会使用什么功能呢?许多人使用传统的统计技术,如均值、中位数和众数,以及一些基本的东西,如计算事情发生的次数。
了大量的数据具有与之相关联的时间戳。有许多的功能,你可以从可能提高模型的性能时间戳提取。什么是一个月或一周中的一天或一天中的时段?这是一场周末或节假日?这样的特征在决定人的行为了很大的作用,例如,如果你试图预测人们用了多少电。
另一类特性工程与文本数据有关。计算某些单词在文本中出现的次数是一种技术,它通常与术语-频率-反-文档-频率等标准化技术相结合。Word2vec将单词转换为高维向量表示,是另一种流行的文本特性工程技术。
最后一类的技术,我将谈谈与图像有关。图像包含大量的信息,所以你经常需要提取的重要组成部分。传统技术计算的颜色直方图或应用转换诸如Haar小波。最近,研究人员已经开始使用卷积神经网络来从图像中提取的特征。
根据您所使用的数据类型,使用我们讨论过的各种技术可能是有意义的。特征工程是一个尝试和错误的过程。知道某个特性是否有用的唯一方法是将其添加到模型中,并检查它是否改进了结果。
包裹起来,那是功能工程的简要说明。我们有我们的网站有更多的例子,所以检查出来。
您还可以选择从下面的列表中的网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。