I have thousands of samples consisting of two floating point numbers within the range 0 to 1 that associate (result) to a binary outcome. I want to train a learning algorithm with these samples in order to predict the probability that a given sample not found in the training set would produce a true (1) outcome. If I consider each sample to be composed of two random variables (X and Y), then I know that as X goes towards 1, the outcome approaches 1 (true). As X -> 0, the outcome approaches (0) false. The same applies to Y, but the relationship is not linear. In some cases, a sample in the training set might be present more than once, but have opposite outcomes. So the trained algorithm would produce a result interpreted as the probability that a given sample has a true (1) outcome. Can anyone recommend a good algorithm for this problem?