# Interpreting coefficients in Scikit-Learn

I'm experimenting with using SKLearn on some Spotify playlists. After doing the usual train_test_split I got these coefficients and am trying to draw conclusions from them:

Coeffecient
danceability    -4.196927e-01
loudness    2.698949e-02
speechiness 1.311348e-02
acousticness    -3.046890e-01
liveness    5.364709e-02
valence 1.613084e-01
tempo   1.136266e-04
duration_ms 1.060418e-08

Interpreting the coefficients:

1. Holding all other features fixed, a 1 unit increase in danceability is associated with an increase of -0.4196927 (i.e. a small decrease) in energy. That's odd.
2. A 1 unit increase in loudness is associated with an increase of 0.02698949 in energy. Makes sense.
3. A 1 unit increase in speechiness is associated with an increase of 0.01311348 in energy. This is surprising - I would expect a negative relationship.
4. A 1 unit increase in acousticness is associated with an increase of -0.3046890 (i.e. a decrease) in energy, so, again, acousticness "drains" energy!
5. A 1 unit increase in liveness is associated with an increase of 0.05364709 in energy. Makes sense.
6. A 1 unit increase in valence is associated with an increase of 0.1613084 in energy. Makes sense.
7. A 1 unit increase in tempo is associated with a very small increase of 0.0001136266 in energy. Makes sense.
8. A 1 unit increase in duration_ms is associated with an increase of 0.00000001060418 in energy, so essentially no relationship.


Does this make sense, in the sense of have I actually interpreted the numbers correctly? I haven't studied coefficients in decades, aside from what I've picked up learning python, so I'm definitely open to resources to learn more, if anybody has any suggestions.

• Assuming this is a linear model for energy as a continuous variable your interpretation looks plausible if scikit-learn works the same way as most statistical programs. Jun 11, 2020 at 12:29