  Data analysis in high energy physics often deals with data samples consisting
of a mixture of signal and background events. The sPlot technique is a common
method to subtract the contribution of the background by assigning weights to
events. Part of the weights are by design negative. Negative weights lead to
the divergence of some machine learning algorithms training due to absence of
the lower bound in the loss function. In this paper we propose a mathematically
rigorous way to train machine learning algorithms on data samples with
background described by sPlot to obtain signal probabilities conditioned on
observables, without encountering negative event weight at all. This allows
usage of any out-of-the-box machine learning methods on such data.
