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