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