机器学习中的特征选择

嘿哈布尔!

我们 Reksoft 将这篇文章翻译成俄语 机器学习中的特征选择。 我们希望它对每个对该主题感兴趣的人都有用。

在现实世界中,数据并不总是像企业客户有时想象的那样干净。 这就是需要数据挖掘和数据整理的原因。 它有助于识别人类无法识别的查询结构化数据中的缺失值和模式。 为了找到并使用这些模式来利用数据中发现的关系来预测结果,机器学习就派上用场了。

要理解任何算法,您需要查看数据中的所有变量并找出这些变量代表什么。 这很重要,因为结果背后的基本原理是基于对数据的理解。 如果数据包含 5 个甚至 50 个变量,您可以检查所有变量。 如果有 200 个怎么办? 那么根本就没有足够的时间来研究每一个变量。 此外,某些算法不适用于分类数据,然后您必须将所有分类列转换为定量变量(它们可能看起来是定量的,但指标将显示它们是分类的)以将它们添加到模型中。 这样,变量的数量就增加了,大约有500个,现在怎么办? 人们可能认为答案是降低维度。 降维算法减少了参数数量,但对可解释性产生负面影响。 如果有其他技术可以消除特征,同时使其余特征易于理解和解释怎么办?

根据分析是基于回归还是分类,特征选择算法可能会有所不同,但其实现的主要思想保持不变。

高度相关的变量

彼此高度相关的变量为模型提供相同的信息,因此无需将它们全部用于分析。 例如,如果数据集包含“在线时间”和“使用的流量”特征,我们可以假设它们会有一定的相关性,即使我们选择无偏差的数据样本,我们也会看到很强的相关性。 在这种情况下,模型中只需要这些变量之一。 如果同时使用两者,模型将过度拟合并偏向于某一特定特征。

P 值

在线性回归等算法中,初始统计模型始终是一个好主意。 它有助于通过该模型获得的 p 值来显示特征的重要性。 设置显着性水平后,我们检查生成的 p 值,如果任何值低于指定的显着性水平,则该特征被声明为显着,也就是说,其值的变化可能会导致目标。

直接选择

前向选择是一种涉及应用逐步回归的技术。 模型构建从一个完整的零开始,即一个空模型,然后每次迭代都会添加一个变量,对正在构建的模型进行改进。 将哪个变量添加到模型中由其重要性决定。 这可以使用各种指标来计算。 最常见的方法是使用在使用所有变量的原始统计模型中获得的 p 值。 有时,前向选择可能会导致模型过度拟合,因为模型中可能存在高度相关的变量,即使它们为模型提供了相同的信息(但模型仍然显示出改进)。

反向选择

反向选择还涉及逐步消除性状,但与正向选择相比方向相反。 在这种情况下,初始模型包括所有自变量。 如果变量在每次迭代中没有为新的回归模型贡献价值,则这些变量将被消除(每次迭代一个)。 特征排除基于初始模型的 p 值。 该方法在去除高度相关的变量时也存在不确定性。

递归特征消除

RFE 是一种广泛使用的技术/算法,用于选择准确数量的重要特征。 有时,该方法用于解释一些影响结果的“最重要”特征; 有时会减少大量变量(大约200-400个),并且只保留那些对模型至少有一定贡献的变量,而排除所有其他变量。 RFE 使用排名系统。 数据集中的特征被分配等级。 然后,根据特征之间的共线性以及这些特征在模型中的重要性,使用这些排名来递归地消除特征。 除了对特征进行排序之外,即使对于给定数量的特征,RFE 也可以显示这些特征是否重要(因为很可能所选的特征数量可能不是最优的,而最优的特征数量可能会更多)或小于所选数量)。

特征重要性图

在谈论机器学习算法的可解释性时,我们通常讨论线性回归(它允许您使用 p 值分析特征的重要性)和决策树(字面上以树的形式显示特征的重要性,并在同时他们的层次结构)。 另一方面,随机森林、LightGBM 和 XG Boost 等算法经常使用特征重要性图,即绘制变量和“它们的重要性数字”的图。 当您需要根据属性对业务的影响来说明属性的重要性时,这尤其有用。

正则化

进行正则化是为了控制偏差和方差之间的平衡。 偏差显示模型在训练数据集上的过度拟合程度。 偏差显示了训练数据集和测试数据集之间的预测有多么不同。 理想情况下,偏差和方差都应该很小。 这就是正则化可以发挥作用的地方! 主要有两种技术:

L1 正则化 - Lasso:Lasso 惩罚模型权重以改变其对模型的重要性,甚至可以将其置空(即从最终模型中删除这些变量)。 通常,当数据集包含大量变量并且您希望排除其中一些变量以更好地了解重要特征(即已由 Lasso 选择并已分配重要性的那些特征)如何影响模型时,请使用 Lasso。

L2 正则化 - Ridge 方法:Ridge 的工作是存储所有变量,同时根据它们对模型性能的贡献来分配它们的重要性。 如果数据集包含少量变量并且所有变量都是解释所获得的发现和结果所必需的,则 Ridge 将是一个不错的选择。

由于 Ridge 保留了所有变量,而 Lasso 在确定其重要性方面做得更好,因此开发了一种结合了两种正则化的最佳特征的算法,称为 Elastic-Net。

选择机器学习特征的方法有很多,但主要思想始终是相同的:证明变量的重要性,然后根据得出的重要性消除其中一些变量。 重要性是一个非常主观的术语,因为它不仅仅是一个术语,而是一整套可用于查找关键属性的指标和图表。

感谢您的阅读! 快乐学习!

来源: habr.com

添加评论