Question about DrawNetwork in TMLPAnalyzer


Please read tips for efficient and successful posting and posting code

ROOT Version: 6.22/06
Platform: Ubuntu
Compiler: Not Provided


Dear ROOT community,

Hello! This is my first post here.

I’m attempting to classify particles using the TMultiLayerPerceptron class given two root files. One file has certain cuts of one particle, and another has cuts of the other. I’m following an example very similar to the mlphiggs.C, but I’m quite confused, and have a few questions:

  1. I’m not quite sure what DrawNetwork does in the TMLPAnalyzer class. I am very new to machine learning, so this might be a silly question. What does it mean to have a distribution of the neural network?
  2. Let’s say I wanted to classify which particle was which. I’ve been browsing the TMultiLayerPerceptron class and TMLPAnalyzer documentation, and am quite confused on how to make a clear output that would tell me the probability of the output being a certain particle dependent on the event.

That’s all my concerns! Thank you in advance!

Welcome @mortonia and apologies for the slow response! First off I’d recommend not to start with TMultiLayerPercepton but use one of the many existing Python ML classifiers; ROOT has excellent support for training and evaluating them.

We will need @moneta 's input on your actual questions. He is on vacation this week; I hope he will respond here once he’s back!

Hi,
Apologies for the late reply. DrawNetwork draws the output result from the network, as shown in this
tutorial, ROOT: tutorials/legacy/mlp/mlpHiggs.C File Reference

For using a MLP for classification, either use existing Python ML libraries as reccomended by Axel, or use ROOT TMVA, see the tutorial ROOT: tutorials/tmva/TMVAClassification.C File Reference where different methods are used.

Best regards

Lorenzo