The code 13.4 and the related comment in the book is particular to R and not relevant for Python.
Instead of having individual arrays
b_cafe, I'll place all these values in a DataFrame for easy manipulation.
Instead of using confidence region ellipses (Seaborn doesn't have this functionality)
we'll be using KDEs. To make the kde smoother we will use a sample size larger than the one
Partially adapted from:
Looks good! The model seems to be able to recover the initial values