特征评估的方法有哪些
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包