Hi,
I have a whole list of questions. I’m trying to create an ANN using TMultiLayerPerceptron (TMLP), see attached macro and example file.
i) Everything goes well, but when I try to plot the result I get “Error in TMultiLayerPerceptron::DrawResult(): no dataset.” - even though it’s specified in its c’tor. I realize I should use the TMLPAnalyzer (and I will use it) , but TMLP offers this method, and it seems I don’t understand its prerequisites.
Okay, got it now - I have to specify “test” or “train” as option. IMHO it’d make sense to default to test, and allow the option “train”.
ii) The progress canvas Train(“graph”) is updated twice per epoch:
residual_plot->GetYaxis()->UnZoom();
canvas->Modified();
canvas->Update();
residual_plot->GetYaxis()->SetTitleOffset(1.4);
residual_plot->GetYaxis()->SetDecimals();
canvas->Modified();
canvas->Update();
This adds some time penalty when running via remote X export. Is the first Update really needed?
iii) In the mlpHiggs tutorial it says
TMultiLayerPerceptron *mlp = new TMultiLayerPerceptron("msumf,ptsumf,acolin:5:3:type",
"ptsumf",simu,"Entry$%2","Entry$/2");
Why isn’t the test data cut “(Entry$+1)%2”?
iv) The documentation doesn’t mention how the const char* parameters for test, train in the TMultiLayerPerceptron c’tor are to be used. Could that be added?
v) in the class description of TMLP it says
Example: TMultiLayerPerceptron(“x/F,y/F:10:5:f/F”,inputTree);
But specifying “/F” will make TMLP unhappy.
It might not be obvious from my comments, but: TMLP is wonderful, thanks so much, Christophe!
Cheers, Axel.
ANNdata.root (6.95 KB)
ANN_MuCorr.C (458 Bytes)