变量重要性

变量重要性(也称为特征重要性)是一个分数,表示特征对模型的“重要性”。例如,如果给定模型具有两个输入特征“f1”和“f2”,变量重要性为 {f1=5.8, f2=2.5},则特征“f1”对模型来说比特征“f2”更“重要”。与其他机器学习模型一样,变量重要性是了解决策树工作原理的一种简单方式。

您可以将模型不限定变量的重要性(例如排列变量重要性)应用于决策树。

决策树还具有特定变量的重要性,例如:

  • 给定变量的拆分分数总和。
  • 包含给定变量的节点数量。
  • 某个地图项在所有树形路径中首次出现的平均深度。

变量的重要性可能因特质而异,例如:

  • 语义
  • 和 WAF
  • 媒体资源

此外,变量重要性提供了关于以下方面的不同类型信息:

  • 模型
  • 数据集
  • 训练过程,

例如,包含特定特征的条件数量表示决策树正在查看此特定特征的程度,这可能表示变量的重要性。毕竟,如果某个特征不重要,学习算法就不会在多个条件下使用它。但是,同一特征出现在多个条件中也可能表示模型正在尝试,但无法泛化特征的模式。例如,如果特征只是一个示例标识符,没有要泛化的信息,就会发生这种情况。

另一方面,排列变量重要性的高值表示移除特征会破坏模型,而这又表示可变重要性。但是,如果模型非常可靠,移除任何一个特征可能不会损害模型。

由于不同的变量重要性会影响模型的不同方面,因此同时查看多个变量重要性具有参考价值。例如,如果某个特征在所有变量重要性方面都很重要,则该特征可能很重要。再举一个例子,如果某个特征的“节点数”可变重要性较高,“排列”变量重要性较低,则此特征可能难以泛化,并且可能会影响模型质量。

YDF 代码
在 YDF 中,您可以通过调用 model.describe() 并查看“变量重要性”标签页来查看模型的变量重要性。如需了解详情,请参阅 模型理解教程