XGB 内置的三种特征重要性计算方法1
weight
xgb.plot_importance 这是我们常用的绘制特征重要性的函数方法。其背后用到的贡献度计算方法为weight。
‘weight’ - the number of times a feature is used to split the data across all trees.
简单来说,就是在子树模型分裂时,用到的特征次数。这里计算的是所有的树。这个指标在R包里也被称为frequency2。
gain
model.feature_importances_ 这是我们调用特征重要性数值时,用到的默认函数方法。其背后用到的贡献度计算方法为gain。
‘gain’ - the average gain across all splits the feature is used in.
gain 是信息增益的泛化概念。这里是指,节点分裂时,该特征带来信息增益(目标函数)优化的平均值。
cover
model = XGBRFClassifier(importance_type = ‘cover’) 这个计算方法,需要在定义模型时定义。之后再调用model.feature_importances_ 得到的便是基于cover得到的贡献度。
‘cover’ - the average coverage across all splits the feature is used in.
cover 形象来说,就是树模型在分裂时,特征下的叶子结点涵盖的样本数除以特征用来分裂的次数。分裂越靠近根部,cover 值越大。