1
$\begingroup$

I stuck on this topic for couple days and seems I need your help to understand what is expected value in TreeExplainer when feature_perturbation = tree_path_dependent, precisely what is expected value in this code?

I use SHAP 0.35, xgboost.

explainer = shap.TreeExplainer(model=model, feature_perturbation='tree_path_dependent', model_output='raw') 
expected_value = explainer.expected_value

I know that if I use feature_perturbation = interventional then expected_value is just mean log odds from predictions:

explainer = shap.TreeExplainer(model=model, feature_perturbation='interventional', data= background_data)

#almost true
explainer.expected_value == model.predict(background_data, output_margin=True).mean()

Can you tell me what is it and how is obtained expected_value in the first code snippet?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.