Train TMVA wiht just one input sample

Dear TMVA experts,

I started using TMVA recently and so far I am a happy costumer. My understanding is that TMVA training works with two input samples: signal and background. Is this correct?

However, I would like to know if it is possible to train TMVA with just one input sample. I mean: if it is possible to pass to TMVA a set of variables/distribution for a given type of events (let’s call it type-A events), so TMVA can build a likelihood for those type of events according to the type-A variable distributions and their correlations. Then later when calling GetMVAScore for a given test event, TMVA will return the likelihood for that event to be of type-A.

I am aware that this way can be less performant than discriminating between type-A and type-B of events (or between signal and background). But as said I am interested just to know what is the likelihood of a given event of being of type-A. I don’t want to confront two type of events.

I did a function that does something like this using just my type-A events as input sample: then using a variable and then building the likelihood distribution of the type-A events for this variable. Obviously this comes out flat. So far so good. Later I tested that likelihood with a another event sample and check if the events in the second sample resemble those of the type-A. This is quite rudimentary but it basically works, just with one input variable. I tried to use a second variable, but to make it working properly I have to consider the correlations between the two variables… which then I felt like building a poor-man version of TMVA.

Thanks for the feedback

Hi @martis ,
sorry for the high latency, this must have fallen through the cracks.

@moneta can you please help here?


The workflow in TMVA supports only supervised classification (binary or multi-class) and not unsupervised learning as in your case.
Some method just the likelihood one might allow you to build the distribution for your single data sample, but you would need to go and modify them. It will not work out of the box with the current interfaces.

Best regards