特征重要性
编辑特征重要性
编辑特征重要性值表示哪些字段对分类或回归分析生成的每个预测影响最大。每个特征重要性值都具有幅度和方向(正或负),它们指示每个字段(或数据点的特征)如何影响特定预测。
特征重要性的目的是帮助您确定预测是否合理。因变量与重要特征之间的关系是否得到您的领域知识的支持?您了解到的关于特定特征重要性的知识也可能会影响您在未来迭代训练模型时是否将其包含在内的决定。
您可以在 Kibana 中或使用获取训练模型 API查看所有训练数据中每个字段的特征重要性值的平均幅度。例如,Kibana 显示回归或二元分类分析结果中每个字段的总特征重要性如下所示
如果分类分析涉及多个类别,Kibana 将使用颜色来显示每个字段的影响如何随类别而变化。例如
您还可以检查每个单独预测的特征重要性值。在 Kibana 中,您可以在 JSON 对象或决策图中查看这些值。对于回归分析,每个决策图都从一个共享基线开始,该基线是训练数据集中所有数据点的预测值的平均值。当您将特定数据点的所有特征重要性值添加到该基线时,您将得到数值预测值。如果特征重要性值为负,则会降低预测值。如果特征重要性值为正,则会增加预测值。例如
对于分类分析,特征重要性值的总和近似于每个数据点的预测几率对数。理解分类分析中特征重要性的最简单方法是在 Kibana 中查看决策图。对于每个数据点,都有一个图表显示每个特征对该类别预测概率的相对影响。此信息有助于您了解哪些特征会降低或增加预测概率。例如
默认情况下,不会计算特征重要性值。要生成此信息,在创建数据框分析作业时,必须指定num_top_feature_importance_values
属性。例如,请参见在示例航班数据集中执行回归分析和在示例航班数据集中执行分类分析。
特征重要性值存储在目标索引中每个文档的机器学习结果字段中。num_top_feature_importance_values
属性值可能会少于每个文档的特征重要性值数量。例如,它仅返回对预测产生积极或消极影响的特征。
进一步阅读
编辑- Elastic Stack 中的特征重要性是使用 SHAP(SHapley Additive exPlanations)方法计算的,如Lundberg, S. M., & Lee, S.-I. A Unified Approach to Interpreting Model Predictions. In NeurIPS 2017中所述。
- Elastic 机器学习的数据框分析的特征重要性.
- 数据框分析的特征重要性(Jupyter Notebook).