Hello,
I tried to reproduce the calculation of variable importances for gradient boosted decision trees
using GiniIndex as separation type with ROOT 6.08.06 .
After some debugging it looks like that for gradient boosted decision trees, the SeparationType option
is essentially ignored, the corresponding field MethodBDT::fSepType is reset to NULL in MethodBDT::InitGradBoost() und not set again (see https://github.com/root-project/root/blob/3c842ce20edc9bd72dbd40f1e7b071d6f49e4170/tmva/tmva/src/MethodBDT.cxx#L1536 ) and is still NULL when instances of DecisionTree are created.
The DecisionTree objects then effectively have a regression (square of residual) loss (see https://github.com/root-project/root/blob/3c842ce20edc9bd72dbd40f1e7b071d6f49e4170/tmva/tmva/src/DecisionTree.cxx#L180 ) and correspondingly also the separation gain for a node split is calculated using RegressionVariance, not using the metric specified by the SeparationType option.
Is this on purpose ?
best regards,
Andre