Dear all,
I am getting started with TMVA and I would like to use the library to perform a regression.
I started with the example posted here and I modified just the data loading part, according to the this guide, importing my trees and defining my own variables.
However, when I launch the code with
root -l Regression.C\(\"LD\"\)
i get this break
*** Break *** floating point exception
[/usr/lib/system/libsystem_platform.dylib] _sigtramp (no debug info)
[<unknown binary>] (no debug info)
[/usr/local/Cellar/root/6.26.06_1/lib/root/libTMVA.so] TMVA::Factory::EvaluateAllMethods() (no debug info)
[<unknown binary>] (no debug info)
[<unknown binary>] (no debug info)
[/usr/local/Cellar/root/6.26.06_1/lib/root/libCling.so] cling::IncrementalExecutor::executeWrapper(llvm::StringRef, cling::Value*) const (no debug info)
[/usr/local/Cellar/root/6.26.06_1/lib/root/libCling.so] cling::Interpreter::RunFunction(clang::FunctionDecl const*, cling::Value*) (no debug info)
[/usr/local/Cellar/root/6.26.06_1/lib/root/libCling.so] cling::Interpreter::EvaluateInternal(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, cling::CompilationOptions, cling::Value*, cling::Transaction**, unsigned long) (no debug info)
[/usr/local/Cellar/root/6.26.06_1/lib/root/libCling.so] cling::MetaSema::actOnxCommand(llvm::StringRef, llvm::StringRef, cling::Value*) (no debug info)
[/usr/local/Cellar/root/6.26.06_1/lib/root/libCling.so] cling::MetaParser::isXCommand(cling::MetaSema::ActionResult&, cling::Value*) (no debug info)
[/usr/local/Cellar/root/6.26.06_1/lib/root/libCling.so] cling::MetaParser::isCommand(cling::MetaSema::ActionResult&, cling::Value*) (no debug info)
[/usr/local/Cellar/root/6.26.06_1/lib/root/libCling.so] cling::MetaProcessor::process(llvm::StringRef, cling::Interpreter::CompilationResult&, cling::Value*, bool) (no debug info)
[/usr/local/Cellar/root/6.26.06_1/lib/root/libCling.so] HandleInterpreterException(cling::MetaProcessor*, char const*, cling::Interpreter::CompilationResult&, cling::Value*) (no debug info)
[/usr/local/Cellar/root/6.26.06_1/lib/root/libCling.so] TCling::ProcessLine(char const*, TInterpreter::EErrorCode*) (no debug info)
[/usr/local/Cellar/root/6.26.06_1/lib/root/libCling.so] TCling::ProcessLineSynch(char const*, TInterpreter::EErrorCode*) (no debug info)
[/usr/local/Cellar/root/6.26.06_1/lib/root/libCore.so] TApplication::ExecuteFile(char const*, int*, bool) (no debug info)
[/usr/local/Cellar/root/6.26.06_1/lib/root/libRint.so] TRint::ProcessLineNr(char const*, char const*, int*) (no debug info)
[/usr/local/Cellar/root/6.26.06_1/lib/root/libRint.so] TRint::Run(bool) (no debug info)
[/usr/local/Cellar/root/6.26.06_1/bin/root.exe] main (no debug info)
[/usr/lib/system/libdyld.dylib] start (no debug info)
[<unknown binary>] (no debug info)
anyone know what this may be about?
I am pretty sure that the data are read correctly. In fact, before breaking, the terminal prints
Processing Regression.C("LD")...
==> Start TMVARegression
DataSetInfo : [dataset] : Added class "Regression"
: Add Tree Events of type Regression with 120 events
: Add Tree Events of type Regression with 60 events
: Dataset[dataset] : Class index : 0 name : Regression
Factory : Booking method: LD
:
: Rebuilding Dataset dataset
: Building event vectors for type 2 Regression
: Dataset[dataset] : create input formulas for tree Events
: Building event vectors for type 2 Regression
: Dataset[dataset] : create input formulas for tree Events
DataSetFactory : [dataset] : Number of events in input trees
:
: Dataset[dataset] : Weight renormalisation mode: "EqualNumEvents": renormalises all event classes ...
: Dataset[dataset] : such that the effective (weighted) number of events in each class is the same
: Dataset[dataset] : (and equals the number of events (entries) given for class=0 )
: Dataset[dataset] : ... i.e. such that Sum[i=1..N_j]{w_i} = N_classA, j=classA, classB, ...
: Dataset[dataset] : ... (note that N_j is the sum of TRAINING events
: Dataset[dataset] : ..... Testing events are not renormalised nor included in the renormalisation factor!)
: Number of training and testing events
: ---------------------------------------------------------------------------
: Regression -- training events : 90
: Regression -- testing events : 90
: Regression -- training and testing events: 180
:
DataSetInfo : Correlation matrix (Regression):
: ------------------------------------------------------------------------------------------------
: var0 var1 var2 var3 var4 var5 var6 var7 var8 var9 var10
: var0: +1.000 +0.804 +0.886 -0.738 +0.261 +0.707 +0.681 +0.328 +0.016 -0.547 +0.412
: var1: +0.804 +1.000 +0.722 -0.544 +0.159 +0.482 +0.543 +0.071 -0.055 -0.575 +0.340
: var2: +0.886 +0.722 +1.000 -0.760 +0.161 +0.656 +0.551 +0.428 +0.051 -0.475 +0.383
: var3: -0.738 -0.544 -0.760 +1.000 -0.161 -0.742 -0.572 -0.423 -0.074 +0.467 -0.309
: var4: +0.261 +0.159 +0.161 -0.161 +1.000 +0.231 +0.187 +0.066 +0.038 -0.399 +0.007
: var5: +0.707 +0.482 +0.656 -0.742 +0.231 +1.000 +0.636 +0.335 +0.318 -0.594 +0.174
: var6: +0.681 +0.543 +0.551 -0.572 +0.187 +0.636 +1.000 +0.088 -0.137 -0.662 +0.273
: var7: +0.328 +0.071 +0.428 -0.423 +0.066 +0.335 +0.088 +1.000 +0.218 +0.079 +0.091
: var8: +0.016 -0.055 +0.051 -0.074 +0.038 +0.318 -0.137 +0.218 +1.000 -0.169 -0.062
: var9: -0.547 -0.575 -0.475 +0.467 -0.399 -0.594 -0.662 +0.079 -0.169 +1.000 -0.067
: var10: +0.412 +0.340 +0.383 -0.309 +0.007 +0.174 +0.273 +0.091 -0.062 -0.067 +1.000
: ------------------------------------------------------------------------------------------------
DataSetFactory : [dataset] :
:
Factory : Train all methods
Factory : [dataset] : Create Transformation "I" with events from all classes.
:
: Transformation, Variable selection :
: Input : variable 'var0' <---> Output : variable 'var0'
: Input : variable 'var1' <---> Output : variable 'var1'
: Input : variable 'var2' <---> Output : variable 'var2'
: Input : variable 'var3' <---> Output : variable 'var3'
: Input : variable 'var4' <---> Output : variable 'var4'
: Input : variable 'var5' <---> Output : variable 'var5'
: Input : variable 'var6' <---> Output : variable 'var6'
: Input : variable 'var7' <---> Output : variable 'var7'
: Input : variable 'var8' <---> Output : variable 'var8'
: Input : variable 'var9' <---> Output : variable 'var9'
: Input : variable 'var10' <---> Output : variable 'var10'
TFHandler_Factory : Variable Mean RMS [ Min Max ]
: ----------------------------------------------------------------
: var0: -0.057679 2.5936 [ -5.5329 5.0246 ]
: var1: 0.027936 1.2102 [ -2.5351 2.9997 ]
: var2: 0.0084515 1.9054 [ -3.6979 4.6488 ]
: var3: -0.026050 1.5284 [ -4.3699 2.8655 ]
: var4: 0.021139 0.68203 [ -1.6571 1.8524 ]
: var5: -0.070058 1.8907 [ -4.6620 3.5739 ]
: var6: 0.029494 1.5309 [ -4.1873 2.8429 ]
: var7: -0.052540 1.1189 [ -2.7408 2.9460 ]
: var8: -0.081144 0.95387 [ -3.1831 2.1269 ]
: var9: 0.17206 1.8121 [ -4.0339 3.8083 ]
: var10: -0.017553 0.89433 [ -1.7938 2.0392 ]
: nominal_z: 23.333 74.312 [ -120.00 120.00 ]
: ----------------------------------------------------------------
: Ranking input variables (method unspecific)...
IdTransformation : Ranking result (top variable is best ranked)
: ---------------------------------------------
: Rank : Variable : |Correlation with target|
: ---------------------------------------------
: 1 : var0 : 7.638e-01
: 2 : var1 : 6.973e-01
: 3 : var9 : 6.913e-01
: 4 : var2 : 6.765e-01
: 5 : var6 : 6.534e-01
: 6 : var5 : 6.486e-01
: 7 : var3 : 6.425e-01
: 8 : var10 : 3.103e-01
: 9 : var4 : 2.535e-01
: 10 : var7 : 1.416e-01
: 11 : var8 : 1.245e-01
: ---------------------------------------------
IdTransformation : Ranking result (top variable is best ranked)
: --------------------------------------
: Rank : Variable : Mutual information
: --------------------------------------
: 1 : var0 : -1.000e+00
: 2 : var1 : -1.000e+00
: 3 : var2 : -1.000e+00
: 4 : var3 : -1.000e+00
: 5 : var4 : -1.000e+00
: 6 : var5 : -1.000e+00
: 7 : var6 : -1.000e+00
: 8 : var7 : -1.000e+00
: 9 : var8 : -1.000e+00
: 10 : var9 : -1.000e+00
: 11 : var10 : -1.000e+00
: --------------------------------------
IdTransformation : Ranking result (top variable is best ranked)
: -------------------------------------
: Rank : Variable : Correlation Ratio
: -------------------------------------
: 1 : var0 : -1.000e+00
: 2 : var1 : -1.000e+00
: 3 : var2 : -1.000e+00
: 4 : var3 : -1.000e+00
: 5 : var4 : -1.000e+00
: 6 : var5 : -1.000e+00
: 7 : var6 : -1.000e+00
: 8 : var7 : -1.000e+00
: 9 : var8 : -1.000e+00
: 10 : var9 : -1.000e+00
: 11 : var10 : -1.000e+00
: -------------------------------------
IdTransformation : Ranking result (top variable is best ranked)
: -----------------------------------------
: Rank : Variable : Correlation Ratio (T)
: -----------------------------------------
: 1 : var0 : -1.000e+00
: 2 : var1 : -1.000e+00
: 3 : var2 : -1.000e+00
: 4 : var3 : -1.000e+00
: 5 : var4 : -1.000e+00
: 6 : var5 : -1.000e+00
: 7 : var6 : -1.000e+00
: 8 : var7 : -1.000e+00
: 9 : var8 : -1.000e+00
: 10 : var9 : -1.000e+00
: 11 : var10 : -1.000e+00
: -----------------------------------------
Factory : Train method: LD for Regression
:
LD : Results for LD coefficients:
: -----------------------
: Variable: Coefficient:
: -----------------------
: var0: -10.346
: var1: -8.443
: var2: +1.887
: var3: +7.122
: var4: +1.631
: var5: +0.202
: var6: -3.974
: var7: +2.205
: var8: -7.079
: var9: +12.393
: var10: -4.578
: (offset): +20.567
: -----------------------
: Elapsed time for training with 90 events: 0.000389 sec
: Dataset[dataset] : Create results for training
: Dataset[dataset] : Evaluation of LD on training sample
: Dataset[dataset] : Elapsed time for evaluation of 90 events: 0.00285 sec
: Create variable histograms
: Create regression target histograms
: Create regression average deviation
: Results created
: Creating xml weight file: dataset/weights/TMVARegression_LD.weights.xml
Factory : Training finished
:
Factory : === Destroy and recreate all methods via weight files for testing ===
:
: Reading weight file: dataset/weights/TMVARegression_LD.weights.xml
Factory : Test all methods
Factory : Test method: LD for Regression performance
:
: Dataset[dataset] : Create results for testing
: Dataset[dataset] : Evaluation of LD on testing sample
: Dataset[dataset] : Elapsed time for evaluation of 90 events: 0.00233 sec
: Create variable histograms
: Create regression target histograms
: Create regression average deviation
: Results created
Factory : Evaluate all methods
: Evaluate regression method: LD
: TestRegression (testing)
: Calculate regression for all events
and it seems to break when my code run EvaluateAllMethods().
Thanks in advance for the hints!