特征选择笔记

1.机器学习中特征选择的重要性

机器学习遵循一个简单的规则-如果您放入垃圾,那么只会让垃圾出来。这里的垃圾是指数据中的噪音。

当功能数量非常多时,这一点变得尤为重要。您无需使用所有可用功能来创建算法。您可以通过仅提供真正重要的功能来辅助算法。我亲眼目睹了特征子集比相同算法的完整特征集能提供更好的结果。就像罗汉·饶(Rohan Rao)所说的那样:“有时候,少即是好!”

不仅在比赛中,而且在工业应用中也非常有用。您不仅可以减少培训时间和评估时间,而且还省去了很多事情!

使用特征选择的主要原因如下:

它使机器学习算法的训练速度更快。
它降低了模型的复杂性,并使其更易于解释。
如果选择了正确的子集,则可以提高模型的准确性。
它减少了过拟合。
接下来,我们将讨论各种方法和技术,您可以使用这些方法和技术来划分特征空间并帮助模型更好,更有效地执行。因此,让我们开始吧。

主要的特征选择的方式分为三种:

1. Filter Method
在这里插入图片描述
过滤方法通常用作预处理步骤。 功能的选择与任何机器学习算法无关。 取而代之的是,根据特征在各种统计测试中的得分来选择特征与结果变量的相关性。 此处的相关性是一个主观术语。 有关基本指导,可以参考下表定义相关系数。
在这里插入图片描述
皮尔逊相关系数:用作量化两个连续变量X和Y之间的线性相关性的量度。其值在-1至+1之间变化。 皮尔森的相关性为:
在这里插入图片描述
LDA:线性判别分析用于查找特征的线性组合,这些特征可表征或分隔两个或多个类别变量(或级别)。

方差分析:方差分析代表方差分析。 它与LDA相似,不同之处在于它使用一个或多个类别独立特征和一个连续依赖特征进行操作。 它提供了几个组的均值是否相等的统计检验。

卡方:这是一种统计测试,应用于分类特征组,以使用它们的频率分布来评估它们之间相关或关联的可能性。

应该记住的一件事是,滤波方法不会消除多重共线性。 因此,在训练数据模型之前,您还必须处理要素的多重共线性。

2. Wrapper Method
在这里插入图片描述
在包装方法中,我们尝试使用功能的子集并使用它们训练模型。根据我们从先前模型得出的推论,我们决定从您的子集中添加或删除要素。该问题基本上被简化为搜索问题。这些方法通常在计算上非常昂贵。

包装方法的一些常见示例是前向特征选择,后向特征消除,递归特征消除等。

正向选择:正向选择是一种迭代方法,我们从模型中没有任何特征开始。在每次迭代中,我们都会不断添加最能改善模型的功能,直到添加新变量不会改善模型的性能为止。

向后消除:在向后消除中,我们从所有特征开始,并在每次迭代时都删除最不重要的特征,从而提高了模型的性能。我们重复此过程,直到在去除特征方面未观察到任何改善。

递归特征消除:这是一种贪婪的优化算法,旨在找到性能最好的特征子集。它反复创建模型,并在每次迭代时保留性能最佳或最差的功能。它将用剩余的特征构造下一个模型,直到用尽所有特征。然后,根据特征消除的顺序对特征进行排序。

使用包装方法实现特征选择的最佳方法之一是使用Boruta包,该包通过创建阴影特征来发现特征的重要性。

它按以下步骤工作:

首先,它通过创建所有特征(称为阴影特征)的混洗副本来给定数据集增加随机性。
然后,它在扩展的数据集上训练随机森林分类器,并应用特征重要性度量(默认值是平均降低准确度)来评估每个特征的重要性,其中更高的意味着更重要。
在每次迭代中,它都会检查一个真实特征是否比其最佳阴影特征具有更高的重要性(即,该特征的Z分数是否高于其阴影特征的最大Z分数),并不断移除认为非常不重要。
最后,当所有功能都得到确认或拒绝或达到指定的随机森林运行限制时,算法将停止。

3. Embedded Method
在这里插入图片描述

嵌入式方法结合了filter和wrapper方法的质量。 它是由具有自己的内置功能选择方法的算法实现的。

这些方法中最受欢迎的一些例子是LASSO和RIDGE回归,它们具有内置的惩罚功能以减少过度拟合。

Lasso回归执行L1正则化,这会增加等于系数幅度绝对值的惩罚。
Ridge回归执行L2正则化,这会增加等于系数幅度平方的惩罚。
有关LASSO和RIDGE回归的更多详细信息和实现,可以参考本文。

嵌入式方法的其他示例包括:正则化树,Memetic算法,随机多项式logit。

4. Filter和Wrapper方法之间的区别

用于选择特征的filter和wrapper方法之间的主要区别是:

过滤器方法通过特征与因变量的相关性来度量特征的相关性,而包装器方法通过实际训练特征子集上的模型来度量特征子集的有用性。
与包装方法相比,筛选方法要快得多,因为它们不涉及训练模型。 另一方面,包装方法在计算上也非常昂贵。
过滤器方法使用统计方法来评估功能的子集,而包装器方法使用交叉验证。
过滤器方法可能在很多情况下都找不到最佳的功能子集,但是包装器方法始终可以提供最佳的功能子集。
与使用过滤器方法的特征子集相比,使用包装方法的特征子集使模型更易于过度拟合。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章