If I use the seaborn library in Python to plot the result of a linear regression, is there a way to find out the numerical results of the regression? For example, I might want to know the fitting coefficients or the R2 of the fit.
I could re-run the same fit using the underlying statsmodels interface, but that would seem to be unnecessary duplicate effort, and anyway I'd want to be able to compare the resulting coefficients to be sure the numerical results are the same as what I'm seeing in the plot.
There's no way to do this.
In my opinion, asking a visualization library to give you statistical modeling results is backwards.
statsmodels, a modeling library, lets you fit a model and then draw a plot that corresponds exactly to the model you fit. If you want that exact correspondence, this order of operations makes more sense to me.
You might say "but the plots in
statsmodels don't have as many aesthetic options as
seaborn". But I think that makes sense —
statsmodels is a modeling library that sometimes uses visualization in the service of modeling.
seaborn is a visualization library that sometimes uses modeling in the service of visualization. It is good to specialize, and bad to try to do everything.
statsmodels use tidy data. That means that you really need very little effort duplication to get both plots and models through the appropriate tools.