The second set of selection functions relies on Gaussian processes [1]}. Such a classifier constructs a latent variable, modeled as a Gaussian process whose covariance function (kernel) is a squared exponential function. It is transformed into a probability by means of a sigmoid (inverse probit) function, and the algorithm uses the Bernoulli likelihood of the training sample in order to maximize the marginal likelihood and find the best hyper-parameters for the kernel, namely its amplitude and scale-lengths along each feature dimension. In order to increase speed in execution time, we use the Stochastic Variational Gaussian Process (SVGP) algorithm [2]} implemented in the GPy libraryGPy, since 2012: A Gaussian process framework in Python; Version 1.9.9; http://github.com/SheffieldML/GPy. Among the additional modeling hypotheses, this algorithm imposes a number of 10 inducing points to create an auxiliary random process summarizing the latent function. The selection probability \(p_{\rm det}\)  is obtained by integrating out the latent variable distribution against the link function (the sigmoid); uncertainties on \(p_{\rm det}\)  are approximated by folding the 1-\(\sigma \)  envelope of the latent function into the link function.
The resulting selection functions appear smoother than those trained with random forests and their uncertainty range is better controlled; however they display increased difficulty in capturing small-scale variations in the feature space. Nevertheless, both flavors of the selection function provide equivalent performances.
