Use Shap Value to select variables

 

#Shap Value
clf = lgb.LGBMClassifier(objective='binary',random_state=1024).fit(X_train,y_train)

explainer = shap.TreeExplainer(clf)
shap_values = explainer.shap_values(X_train)
shap.summary_plot(shap_values, X_train,max_display=30) #特征重要性可视化
#shap.force_plot(explainer.expected_value, shap_values[1,:], X_train.iloc[1,:]) #单条可视化
#shap.dependence_plot("SMART_SCORE", shap_values, X_train)

global_shap_values_1 = pd.DataFrame(np.abs(shap_values).mean(0),index=X_train.columns).reset_index()
global_shap_values_1.columns = ['var','feature_importances_']
global_shap_values_1 = global_shap_values_1.sort_values('feature_importances_',ascending=False)

 

 

Guess you like

Origin blog.csdn.net/lz_peter/article/details/88654324