How does LightGBM deal with value scale? I understand that the loss metric can be used as linear, or log, or other things. This is documented at http://lightgbm.readthedocs.io/en/latest/Parameters.html?highlight=logloss#metric-parameters

I would like to understand how LightGBM works on variables with different scale. In other words, is it necessary for me to harmonize scale when running LightGBM? (I am used to linear regression where you need to get into linear scale.)

If I had inputs x1, x2, x3, output y and some noise N then here are a few examples of different scales.


$y = x1 + x2 + x3 + N $
$y = exp(x1 + x2 + x3 + N) $
$y = log(x1 + x2 + x3 + N) $
$y = sqrt(x1 + x2 + x3 + N) $
$y = log(x1 * x2 * x3 * N) $
Generally, in tree-based models the scale of the features does not matter. This is because at each tree level, the score of a possible split will be equal whether the respective feature has been scaled or not.

You can think of it like here: We're dealing with a binary classification problem and the feature we're splitting takes values from 0 to 1000. If you split it on 300, the samples &lt;300 belong 90% to one category while those >300 belong 30% to one category. Now imaging this feature is scaled between 0 and 1. Again, if you split on 0.3, the sample &lt;0.3 belong 90% to one category while those >0.3 belong 30% to one category. 

So you've changed the splitting point but the actual distribution of the samples remains the same regarding the target variable.