I'm trying to understand how the base value is calculated. So I used an example from SHAP's github notebook, Census income classification with LightGBM.

Right after I trained the lightgbm model, I applied explainer.shap_values() on each row of the test set individually. By using force_plot(), it yields the base value, model output value, and the contributions of features, as shown below: enter image description here

My understanding is that the base value is derived when the model has no features. But how is it actually calculated in SHAP?


1 Answer 1


As you say, it's the value of a feature-less model, which generally is the average of the outcome variable in the training set (often in log-odds, if classification). With force_plot, you actually pass your desired base value as the first parameter; in that notebook's case it is explainer.expected_value[1], the average of the second class.



  • $\begingroup$ I don't really get the sense of a feature-less model. I know this is the correct explanation given also by the author of the original paper, but I am not able to understand it. Wouldn't that prediction obtained by my trained model that actually use some features? $\endgroup$
    – Alexbrini
    Nov 23, 2020 at 9:31
  • 1
    $\begingroup$ @Alexbrini, according to my understanding the featureless model can simply predict a fixed value (eg the average of the output), with no features used whatsoever. $\endgroup$
    – Nikos M.
    Jun 8, 2021 at 8:36
  • $\begingroup$ Do you know what does it mean when I see 0.5 as base value for all my instances? when I plot waterfall plot, I see 0 for all my instances. You can refer this post here - stats.stackexchange.com/questions/569843/… $\endgroup$
    – The Great
    Mar 31, 2022 at 7:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.