As input data is used a toy-MC sample consisting of four Gaussian-distributed and linearly correlated input variables.
The methods to be used can be switched on and off by means of booleans, or via the prompt command, for example:
(note that the backslashes are mandatory) If no method given, a default set is used.
The output file "TMVAReg.root" can be analysed with the use of dedicated macros (simply say: root -l <macro.C>), which can be conveniently invoked through a GUI that will appear at the end of the run of this macro.
==> Start TMVARegression
--- TMVARegression : Using input file: /github/home/ROOT-CI/build/tutorials/tmva/data/tmva_reg_example.root
DataSetInfo : [datasetreg] : Added class "Regression"
: Add Tree TreeR of type Regression with 10000 events
: Dataset[datasetreg] : Class index : 0 name : Regression
Factory : Booking method: ␛[1mPDEFoam␛[0m
:
: Rebuilding Dataset datasetreg
: Building event vectors for type 2 Regression
: Dataset[datasetreg] : create input formulas for tree TreeR
DataSetFactory : [datasetreg] : Number of events in input trees
:
: Number of training and testing events
: ---------------------------------------------------------------------------
: Regression -- training events : 1000
: Regression -- testing events : 9000
: Regression -- training and testing events: 10000
:
DataSetInfo : Correlation matrix (Regression):
: ------------------------
: var1 var2
: var1: +1.000 -0.032
: var2: -0.032 +1.000
: ------------------------
DataSetFactory : [datasetreg] :
:
Factory : Booking method: ␛[1mKNN␛[0m
:
Factory : Booking method: ␛[1mLD␛[0m
:
Factory : Booking method: ␛[1mBDTG␛[0m
:
<WARNING> : Value for option maxdepth was previously set to 3
: the option NegWeightTreatment=InverseBoostNegWeights does not exist for BoostType=Grad
: --> change to new default NegWeightTreatment=Pray
Factory : ␛[1mTrain all methods␛[0m
Factory : [datasetreg] : Create Transformation "I" with events from all classes.
:
: Transformation, Variable selection :
: Input : variable 'var1' <---> Output : variable 'var1'
: Input : variable 'var2' <---> Output : variable 'var2'
TFHandler_Factory : Variable Mean RMS [ Min Max ]
: -----------------------------------------------------------
: var1: 3.3615 1.1815 [ 0.0010317 4.9864 ]
: var2: 2.4456 1.4269 [ 0.0039980 4.9846 ]
: fvalue: 163.04 79.540 [ 1.8147 358.73 ]
: -----------------------------------------------------------
: Ranking input variables (method unspecific)...
IdTransformation : Ranking result (top variable is best ranked)
: --------------------------------------------
: Rank : Variable : |Correlation with target|
: --------------------------------------------
: 1 : var2 : 7.559e-01
: 2 : var1 : 6.143e-01
: --------------------------------------------
IdTransformation : Ranking result (top variable is best ranked)
: -------------------------------------
: Rank : Variable : Mutual information
: -------------------------------------
: 1 : var2 : 2.014e+00
: 2 : var1 : 1.978e+00
: -------------------------------------
IdTransformation : Ranking result (top variable is best ranked)
: ------------------------------------
: Rank : Variable : Correlation Ratio
: ------------------------------------
: 1 : var1 : 6.270e+00
: 2 : var2 : 2.543e+00
: ------------------------------------
IdTransformation : Ranking result (top variable is best ranked)
: ----------------------------------------
: Rank : Variable : Correlation Ratio (T)
: ----------------------------------------
: 1 : var2 : 1.051e+00
: 2 : var1 : 5.263e-01
: ----------------------------------------
Factory : Train method: PDEFoam for Regression
:
: Build mono target regression foam
: Elapsed time: 0.299 sec
: Elapsed time for training with 1000 events: 0.302 sec
: Dataset[datasetreg] : Create results for training
: Dataset[datasetreg] : Evaluation of PDEFoam on training sample
: Dataset[datasetreg] : Elapsed time for evaluation of 1000 events: 0.0027 sec
: Create variable histograms
: Create regression target histograms
: Create regression average deviation
: Results created
: Creating xml weight file: ␛[0;36mdatasetreg/weights/TMVARegression_PDEFoam.weights.xml␛[0m
: writing foam MonoTargetRegressionFoam to file
: Foams written to file: ␛[0;36mdatasetreg/weights/TMVARegression_PDEFoam.weights_foams.root␛[0m
Factory : Training finished
:
Factory : Train method: KNN for Regression
:
KNN : <Train> start...
: Reading 1000 events
: Number of signal events 1000
: Number of background events 0
: Creating kd-tree with 1000 events
: Computing scale factor for 1d distributions: (ifrac, bottom, top) = (80%, 10%, 90%)
ModulekNN : Optimizing tree for 2 variables with 1000 values
: <Fill> Class 1 has 1000 events
: Elapsed time for training with 1000 events: 0.000718 sec
: Dataset[datasetreg] : Create results for training
: Dataset[datasetreg] : Evaluation of KNN on training sample
: Dataset[datasetreg] : Elapsed time for evaluation of 1000 events: 0.00394 sec
: Create variable histograms
: Create regression target histograms
: Create regression average deviation
: Results created
: Creating xml weight file: ␛[0;36mdatasetreg/weights/TMVARegression_KNN.weights.xml␛[0m
Factory : Training finished
:
Factory : Train method: LD for Regression
:
LD : Results for LD coefficients:
: -----------------------
: Variable: Coefficient:
: -----------------------
: var1: +41.434
: var2: +42.995
: (offset): -81.387
: -----------------------
: Elapsed time for training with 1000 events: 0.000168 sec
: Dataset[datasetreg] : Create results for training
: Dataset[datasetreg] : Evaluation of LD on training sample
: Dataset[datasetreg] : Elapsed time for evaluation of 1000 events: 0.000275 sec
: Create variable histograms
: Create regression target histograms
: Create regression average deviation
: Results created
: Creating xml weight file: ␛[0;36mdatasetreg/weights/TMVARegression_LD.weights.xml␛[0m
Factory : Training finished
:
Factory : Train method: BDTG for Regression
:
: Regression Loss Function: Huber
: Training 2000 Decision Trees ... patience please
: Elapsed time for training with 1000 events: 0.833 sec
: Dataset[datasetreg] : Create results for training
: Dataset[datasetreg] : Evaluation of BDTG on training sample
: Dataset[datasetreg] : Elapsed time for evaluation of 1000 events: 0.166 sec
: Create variable histograms
: Create regression target histograms
: Create regression average deviation
: Results created
: Creating xml weight file: ␛[0;36mdatasetreg/weights/TMVARegression_BDTG.weights.xml␛[0m
: TMVAReg.root:/datasetreg/Method_BDT/BDTG
Factory : Training finished
:
Factory : === Destroy and recreate all methods via weight files for testing ===
:
: Reading weight file: ␛[0;36mdatasetreg/weights/TMVARegression_PDEFoam.weights.xml␛[0m
: Read foams from file: ␛[0;36mdatasetreg/weights/TMVARegression_PDEFoam.weights_foams.root␛[0m
: Reading weight file: ␛[0;36mdatasetreg/weights/TMVARegression_KNN.weights.xml␛[0m
: Creating kd-tree with 1000 events
: Computing scale factor for 1d distributions: (ifrac, bottom, top) = (80%, 10%, 90%)
ModulekNN : Optimizing tree for 2 variables with 1000 values
: <Fill> Class 1 has 1000 events
: Reading weight file: ␛[0;36mdatasetreg/weights/TMVARegression_LD.weights.xml␛[0m
: Reading weight file: ␛[0;36mdatasetreg/weights/TMVARegression_BDTG.weights.xml␛[0m
Factory : ␛[1mTest all methods␛[0m
Factory : Test method: PDEFoam for Regression performance
:
: Dataset[datasetreg] : Create results for testing
: Dataset[datasetreg] : Evaluation of PDEFoam on testing sample
: Dataset[datasetreg] : Elapsed time for evaluation of 9000 events: 0.0335 sec
: Create variable histograms
: Create regression target histograms
: Create regression average deviation
: Results created
Factory : Test method: KNN for Regression performance
:
: Dataset[datasetreg] : Create results for testing
: Dataset[datasetreg] : Evaluation of KNN on testing sample
: Dataset[datasetreg] : Elapsed time for evaluation of 9000 events: 0.0366 sec
: Create variable histograms
: Create regression target histograms
: Create regression average deviation
: Results created
Factory : Test method: LD for Regression performance
:
: Dataset[datasetreg] : Create results for testing
: Dataset[datasetreg] : Evaluation of LD on testing sample
: Dataset[datasetreg] : Elapsed time for evaluation of 9000 events: 0.00127 sec
: Create variable histograms
: Create regression target histograms
: Create regression average deviation
: Results created
Factory : Test method: BDTG for Regression performance
:
: Dataset[datasetreg] : Create results for testing
: Dataset[datasetreg] : Evaluation of BDTG on testing sample
: Dataset[datasetreg] : Elapsed time for evaluation of 9000 events: 0.921 sec
: Create variable histograms
: Create regression target histograms
: Create regression average deviation
: Results created
Factory : ␛[1mEvaluate all methods␛[0m
: Evaluate regression method: PDEFoam
: TestRegression (testing)
: Calculate regression for all events
: Elapsed time for evaluation of 9000 events: 0.0199 sec
: TestRegression (training)
: Calculate regression for all events
: Elapsed time for evaluation of 1000 events: 0.00243 sec
TFHandler_PDEFoam : Variable Mean RMS [ Min Max ]
: -----------------------------------------------------------
: var1: 3.3370 1.1877 [ 0.00020069 5.0000 ]
: var2: 2.4902 1.4378 [ 0.00071490 5.0000 ]
: fvalue: 164.24 84.217 [ 1.6186 394.84 ]
: -----------------------------------------------------------
: Evaluate regression method: KNN
: TestRegression (testing)
: Calculate regression for all events
: Elapsed time for evaluation of 9000 events: 0.037 sec
: TestRegression (training)
: Calculate regression for all events
: Elapsed time for evaluation of 1000 events: 0.00421 sec
TFHandler_KNN : Variable Mean RMS [ Min Max ]
: -----------------------------------------------------------
: var1: 3.3370 1.1877 [ 0.00020069 5.0000 ]
: var2: 2.4902 1.4378 [ 0.00071490 5.0000 ]
: fvalue: 164.24 84.217 [ 1.6186 394.84 ]
: -----------------------------------------------------------
: Evaluate regression method: LD
: TestRegression (testing)
: Calculate regression for all events
: Elapsed time for evaluation of 9000 events: 0.00177 sec
: TestRegression (training)
: Calculate regression for all events
: Elapsed time for evaluation of 1000 events: 0.000327 sec
TFHandler_LD : Variable Mean RMS [ Min Max ]
: -----------------------------------------------------------
: var1: 3.3370 1.1877 [ 0.00020069 5.0000 ]
: var2: 2.4902 1.4378 [ 0.00071490 5.0000 ]
: fvalue: 164.24 84.217 [ 1.6186 394.84 ]
: -----------------------------------------------------------
: Evaluate regression method: BDTG
: TestRegression (testing)
: Calculate regression for all events
: Elapsed time for evaluation of 9000 events: 0.896 sec
: TestRegression (training)
: Calculate regression for all events
: Elapsed time for evaluation of 1000 events: 0.1 sec
TFHandler_BDTG : Variable Mean RMS [ Min Max ]
: -----------------------------------------------------------
: var1: 3.3370 1.1877 [ 0.00020069 5.0000 ]
: var2: 2.4902 1.4378 [ 0.00071490 5.0000 ]
: fvalue: 164.24 84.217 [ 1.6186 394.84 ]
: -----------------------------------------------------------
:
: Evaluation results ranked by smallest RMS on test sample:
: ("Bias" quotes the mean deviation of the regression from true target.
: "MutInf" is the "Mutual Information" between regression and target.
: Indicated by "_T" are the corresponding "truncated" quantities ob-
: tained when removing events deviating more than 2sigma from average.)
: --------------------------------------------------------------------------------------------------
: --------------------------------------------------------------------------------------------------
: datasetreg BDTG : 0.0489 0.0694 2.42 1.86 | 3.157 3.194
: datasetreg KNN : -1.25 0.0612 7.84 4.47 | 2.870 2.864
: datasetreg PDEFoam : -1.10 -0.585 10.2 8.00 | 2.281 2.331
: datasetreg LD : -0.301 1.50 19.9 17.9 | 1.984 1.960
: --------------------------------------------------------------------------------------------------
:
: Evaluation results ranked by smallest RMS on training sample:
: (overtraining check)
: --------------------------------------------------------------------------------------------------
: DataSet Name: MVA Method: <Bias> <Bias_T> RMS RMS_T | MutInf MutInf_T
: --------------------------------------------------------------------------------------------------
: datasetreg BDTG : 0.0188 0.0107 0.445 0.254 | 3.483 3.514
: datasetreg KNN : -0.486 0.354 5.18 3.61 | 2.948 2.988
: datasetreg PDEFoam :-3.12e-07 0.265 7.58 6.09 | 2.514 2.592
: datasetreg LD :-9.54e-07 1.31 19.0 17.5 | 2.081 2.113
: --------------------------------------------------------------------------------------------------
:
Dataset:datasetreg : Created tree 'TestTree' with 9000 events
:
Dataset:datasetreg : Created tree 'TrainTree' with 1000 events
:
Factory : ␛[1mThank you for using TMVA!␛[0m
: ␛[1mFor citation information, please visit: http://tmva.sf.net/citeTMVA.html␛[0m
==> Wrote root file: TMVAReg.root
==> TMVARegression is done!