了解特性重要性
特性重要性衡量每个特性对目标的影响程度。它可以帮助您识别数据集问题并改进模型。特性重要性包括两种不同的可视化:排列重要性 和 SHAP 重要性。
对特性重要性的简单解释是,改变最重要的特性变量将比改变任何其他变量更能改变目标变量。改变两个最重要特性的变量可能会比只改变一个变量产生更大的影响,但原则是,具有非常低特性重要性的变量可能没有太大的预测能力。控制或改变它可能不会有什么不同。
使用特性重要性
特性重要性有助于识别用于训练模型的数据的问题。例如,假设我们试图预测销售机会是否结束,但我们忘记排除包含销售结束日期的列。这可能是最具预测性的列,因此具有最高的特性重要性。包括它会使模型比现实生活中的表现更好,因为当我们试图预测销售是否结束的二元结果时,我们将无法获得结束日期。
特性重要性也可以帮助您找到方法以迭代方式使模型更好。最重要的特性值有时可以作为细分的良好基础。例如,自动转账标志可能非常重要。我们可以使用此特性对数据进行细分,并针对为自动转账设置的客户训练一个模型,而针对没有自动转账的客户训练另一个模型。这两个模型可能比我们的第一个模型做得更好。
在其他情况下,您可能能够捕获或设计更好地表示更重要的特性变量所描述的特性,而不增加冗余。例如,一个非常重要的特性变量可能是企业正在生产的产品系列。将产品系列划分为几个更具描述性的产品特性可能更为重要。
比较 排列重要性 和 SHAP 重要性
排列重要性 和 SHAP 重要性是测量特性重要性的替代方法。主要区别在于,排列重要性 基于模型性能的降低,而 SHAP 重要性基于特性属性的大小。
如何使用这些值
排列重要性可用于:
-
了解要保留哪些特性和要排除哪些特性。
-
检查数据泄露。
-
了解哪些特性对模型精度最重要。
-
指导其他特性工程。
SHAP 重要性可用于:
-
了解哪些特性最影响预测结果。
-
深入一个特性,了解该特性的不同值如何影响预测。
-
了解什么对数据中的单个行或子集最有影响。
数据级
在整个数据集上计算排列重要性。具体而言,通过消除一个特性,整个数据集的准确性会发生多大变化。它不能用于理解对单个行的影响。
SHAP 重要性是在行级别计算的,可用于了解对特定行重要的内容。这些值表示特性相对于数据集中的平均结果如何影响单行的预测。
特性值的影响
排列重要性无法用于了解特性中的哪些值最重要。
SHAP 重要性值可用于了解特定特性内的值如何影响结果。
方向
排列重要性不包括方向。
SHAP 重要性值是定向的。它们可以是正的,也可以是负的,这取决于它们对预测结果的影响的方向。
量级
排列重要性的量级衡量特性对模型的整体预测的重要性。
SHAP 重要性的量级是特定特性对行的预测有多大的影响,从而不同于数据集的平均预测。