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?