• codingforfun's avatar
    #11143 [FIX] Normalize node risk with sample weight sum · 24e2e0d3
    codingforfun authored
    In case of regression trees, node risk is computed as sum of squared
    error. To get a meaningfull value to compare with it needs to be
    normalized to the number of samples in the node (or more generally to
    the sum of sample weights in this node). Otherwise the sum of squared
    error is highly dependend on the number of samples in the node and
    comparision with `regressionAccuracy` parameter is not very meaningful.
    
    After normalization `node_risk` means in fact sample variance for all
    samples in the node, which makes much more sence and seams to be what
    was originaly intended by the code given that node risk is later used as
    a split termination criteria by
    ```
    sqrt(node.node_risk) < params.getRegressionAccuracy()
    ```
    24e2e0d3
Name
Last commit
Last update
..
ann_mlp.cpp Loading commit data...
boost.cpp Loading commit data...
data.cpp Loading commit data...
em.cpp Loading commit data...
gbt.cpp Loading commit data...
inner_functions.cpp Loading commit data...
kdtree.cpp Loading commit data...
kdtree.hpp Loading commit data...
knearest.cpp Loading commit data...
lr.cpp Loading commit data...
nbayes.cpp Loading commit data...
precomp.hpp Loading commit data...
rtrees.cpp Loading commit data...
svm.cpp Loading commit data...
svmsgd.cpp Loading commit data...
testset.cpp Loading commit data...
tree.cpp Loading commit data...