变量重要性

变量重要性(也称为特征重要性)是一个得分,表示某个特征对模型的重要程度。例如,如果给定模型有两个输入特征“f1”和“f2”,并且变量重要性为 {f1=5.8, f2=2.5},则特征“f1”对模型而言比特征“f2”更“重要”。与其他机器学习模型一样,变量重要性是一种简单的方式,可帮助您了解决策树的运作方式。

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

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

  • 使用给定变量的拆分得分的总和。
  • 具有给定变量的节点数量。
  • 在所有树路径中,特征首次出现的平均深度。

变量重要性可能会因以下因素而异:

  • 语义
  • 和 WAF
  • 媒体资源

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

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

例如,包含特定特征的条件数量表明决策树对此特定特征的关注程度,这可能表明变量的重要性。毕竟,如果某个特征不重要,学习算法就不会在多种情况下使用该特征。不过,如果同一特征出现在多个条件中,也可能表示模型尝试但未能概括出特征的模式。例如,如果某个特征只是一个示例标识符,没有可用于推广的信息,就可能会出现这种情况。

另一方面,如果排列变量重要性较高,则表示移除某个特征会降低模型的准确性,这也反映了变量的重要性。但是,如果模型足够稳健,移除任何一个特征可能不会对模型造成影响。

由于不同的变量重要性可以反映模型的不同方面,因此同时查看多个变量重要性会很有帮助。例如,如果某个特征在所有变量重要性方面都很重要,那么该特征可能很重要。再举一个例子,如果某个特征的“节点数”变量重要性较高,而“排列”变量重要性较低,则该特征可能难以推广,并且可能会降低模型质量。

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