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