A Dragon's score

Dear devs,

In the “book of dragons”, different numbers are given for each species: Attack, Defense, Hitpoints and a Score.
I was bored and tried to figure out how the score is decided.

So I dumped all values into a CSV and trained a linear model (one layer with three unknowns) in tensorflow, minimizing the mean absolute error between predicted and known score.
For fun, I tried to add more and wider layers, just in case a non-linear model was used.

But I quickly hit a wall. I expected to find some perfectly fitting values (except for the obvious rounding errors).

These are roughly the best values I found:

0.67671776*Attack + 0.34202152 * Defense + 0.3696851 * Hitpoints = Score

There are still some outliers in my dataset (off by up to 10 score points).

I wondered where this difference comes from. Personally, I suspect those are numbers tweaked by hand to include the special skills of each dragon. This would mean, I probably won’t be able to find an exact formula.

I would be grateful for some hints, as now I’m quite curious how you ended up with the exact scores.