特征重要性筛选方法

特征评估的方法有哪些

xgb的importance

xgb输出特征重要性,可以作为强弱变量的筛选依据,具体的还要看特征的实际意义等

(1)weight:使用特征在所有树中作为划分属性的次数 默认

(2)gain:使用特征在作为划分属性时loss平均的降低量

(3)cover:使用特征作为划分属性时对样本的覆盖度

代码

from xgboost import plot_importance
import matplotlib.pyplot as plt
plt.rcParams['savefig.dpi'] = 300 #图片像素
plt.rcParams['figure.dpi'] = 300 #分辨率
fig,ax = plt.subplots(figsize=(15,15))
plot_importance(new_xgb1,
                height=0.5,
                ax=ax,
                max_num_features=64)
plt.show()

shaply value值

仔细观察上面的xgb的特征重要性值,主要都是从特征本身的维度讲到的,其实换个思路,当某个特征对某个样本的影响是负向的,会不会对整个模型结果产生影响。

shap value值主要是用来进行特征可解释的

也就是即从特征维度,又从样本的维度,两个维度对模型进行评估。
具体内容可以参考:数据掘金

有可以直接用的shap包

原文地址:https://www.cnblogs.com/gaowenxingxing/p/15212785.html