特征工程

发布时间 2024-01-03 15:18:54作者: 计算之道

    通过结合方差阈值、特征相关性分析、单因素统计测试、递归特征消除和特征重要性等特征选择方案,在减少特征数量的同时,最大限度地保留对目标变量的关键信息,从而提升模型的效率、可解释性,并防止过度拟合的发生。

一、特征相关性分析

    计算各个特征之间的相关性(可用皮尔逊相关系数)。如果有相关系数较高的两个特征,可以只选择其中一个特征,保留重要性更高或与目标变量更相关的那个。这有助于减少模型的复杂性,并提高模型的解释性。

二、特征重要性评估

    随机森林的特征重要性评估通常使用的是随机森林本身提供的特征重要性方法。Boruta算法是一种用于特征选择的算法,与随机森林的特征重要性评估是相关的,但并不相同。

    在随机森林中,特征的重要性是通过在训练过程中测量每个特征对模型准确性的贡献来计算的。随机森林的思想在于,如果某个特征对于构建决策树模型的过程中起到了关键作用,那么它的重要性就会相对较高。

    一般来说,随机森林中的特征重要性是通过以下两种方式之一计算的:

  • 基尼重要性(Gini Importance): 基于Gini指数的减小程度,即每个特征在决策树节点中的分裂中对不纯度减小的贡献。

  • 平均减少不纯度(Mean Decrease in Impurity): 通过在每个决策树节点上测量特征对不纯度减少的平均贡献。

    相比之下,Boruta算法是一种用于特征选择的方法,它基于随机森林的特征重要性来判断哪些特征是显著的,哪些是次要的。Boruta算法通过在原始特征集和随机生成的阴影特征之间进行比较,确定真实特征的重要性。

    总的来说,虽然Boruta算法可以与随机森林一起使用,但随机森林自身提供的特征重要性评估通常足以进行特征选择。 Burota算法主要用于确定哪些特征是显著的,以辅助特征选择的过程。

   1、Boruta算法的基本步骤

Boruta算法是一种用于特征选择(Feature Selection)的算法,其目标是确定给定数据集中哪些特征是显著的。Boruta通常与随机森林一起使用,基于随机森林的特征重要性评估来进行特征选择。

以下是Boruta算法的基本步骤:

  1. 构建随机森林:

    • 使用训练数据集构建一个随机森林,通常包括多个决策树。每个决策树都是在对训练数据的随机子集上进行构建的,这有助于增强模型的泛化能力。
  2. 计算特征重要性:

    • 对于每个特征,通过随机森林计算特征的重要性得分。这可以使用基尼重要性、平均减少不纯度等方法。
  3. 引入阴影特征(Shadow Features):

    • 对于原始数据集,创建与原始特征数量相等的随机生成的阴影特征。这些阴影特征是无关的随机变量,它们用于模拟噪音。
  4. 重新训练随机森林:

    • 使用包含原始特征和阴影特征的扩展数据集重新训练随机森林模型。
  5. 计算阴影特征的重要性:

    • 对于引入的阴影特征,同样计算它们在随机森林中的重要性得分。
  6. 比较重要性得分:

    • 将原始特征的重要性得分与相应的阴影特征进行比较。
    • 如果某个原始特征的重要性得分显著高于阴影特征的得分,说明该特征在随机森林中被认为是显著的。
  7. 确定显著特征:

    • 通过比较,确定哪些原始特征被随机森林视为显著的特征。这些特征被保留作为最终的特征集。

Boruta算法的主要优势在于它能够在考虑随机森林特征重要性的同时,引入阴影特征进行比较,从而更全面地评估特征的显著性。算法的执行可以迭代进行,以提高对显著性特征的确定性。

    2、Boruta算法和随机森林特征重要性的比较

Boruta算法和随机森林的特征重要性评估都有各自的优势和限制,没有绝对的准确性。它们在不同的情境下可能会产生不同的效果。下面是它们的一些比较:

Boruta算法的优势:

  1. 更全面的考虑: Boruta算法引入了阴影特征进行比较,因此能够更全面地考虑特征的显著性。
  2. 自适应性: Boruta算法能够自适应地调整对于显著性的判定标准,通过比较原始特征和阴影特征的重要性得分,决定哪些特征是显著的。

Boruta算法的限制:

  1. 计算开销: 引入阴影特征增加了计算的复杂性,可能会导致较大的计算开销,尤其是在特征较多的情况下。
  2. 依赖随机森林: Boruta算法的性能受限于随机森林的性能。如果基础随机森林模型过拟合或者不够强大,Boruta的效果可能会受到影响。

随机森林特征重要性评估的优势:

  1. 计算效率: 随机森林的特征重要性计算相对较快,特别适用于大规模数据集。
  2. 简单直观: 随机森林的特征重要性直观易懂,通常不需要引入阴影特征,简化了流程。

随机森林特征重要性评估的限制:

  1. 可能忽略交互效应: 随机森林的特征重要性评估可能忽略特征之间的复杂交互效应。
  2. 对共线性敏感: 当特征之间存在共线性时,随机森林的特征重要性评估可能会出现不稳定性。

在实践中,选择使用Boruta还是仅仅依赖随机森林的特征重要性评估取决于具体的问题和数据。有时候,两者结合使用可能能够提供更全面的特征选择。最终的选择通常基于实验和验证的结果。