了解排列重要性
排列重要性是衡量特性对模型整体预测的重要性的度量。换言之,如果您移除模型从该特性中学习的能力,该模型将受到怎样的影响。该度量可以通过更改要包含的特性和算法来帮助您优化模型。
使用 scikit 学习排列重要性来计算 排列重要性 。它测量排列特性后模型分数的降低。
-
如果打乱其值会降低模型得分,则特性是“重要的”,因为在这种情况下,模型依赖于该特性进行预测。
-
如果对某个特性的值进行混洗使模型性能保持不变,则该特性是“不重要的”,因为在这种情况下,模型忽略了预测的特性。
在排列重要性图中,特性按照从最高影响(对模型性能的最大影响)到最低影响(对性能的最小影响)的顺序显示。条形图大小表示每个特性的重要性。
对于在实验期间训练的每个模型,自动生成排序重要性图表。图表显示在模型选项卡中。
使用 排列重要性选择特性列
当您迭代模型训练时,可以查看排列重要性,以确定要保留哪些列和要排除哪些列。请注意哪些特性对多个模型最重要。这些可能是最具预测价值的特性,也是在优化模型时可以保留的最佳候选特性。类似地,始终位于列表底部的特性可能没有太大的预测价值,是很好的排除对象。
如果一个算法的得分明显高于其他算法,请关注该算法的排列重要性图表。如果多个算法具有相似的分数,则可以比较这些算法的排列重要性图表。
使用排列重要性选择算法
每个算法都有从训练数据中学习模式的独特方法。实验使用多种算法进行训练,以确定哪种方法最适合特定数据集。不同的方法通过不同算法的排列重要性的变化来反映。例如,特性 A 可能对逻辑回归模型最重要,而特性 B 对于 XGBoost 分类处理相同数据的方法最重要。一般来说,具有大量预测能力的特性有望成为算法中的表现最佳的特性,但常见的是会出现变化。
当您在具有相似分数的算法之间进行选择时,可以使用排列重要性的这种变化。根据您的具体业务知识,选择具有更直观的表现最佳的特性的算法。
排列重要性的可用性
在实验中包含自由文本功能会增加实验的复杂性以及运行实验所需的进程。如果您的自由文本数据足够复杂,则置换重要性图表可能无法用于生成的模型。