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