Machine learning model to predict the best candidate
I think it would make more sense to train a model to grade (regression) each candidate, them from candidates of a particular set you can use the best candidate from its "grade".

Also, you should try changing the information from raw cloud of points to more meaningful geometric form irfomation:


Number of vertices/segments
Segments length  mean and variance
Skewness
Size and direction of major and minor axis 
Center position
Moments of area (first,second,third...)


Update

To apply a regression model you will need to generate grades for the training set and that might be a challenge. For that I will propose a few heuristics to generate this:


Since you have about 10k samples, you could assign to every candidate the probability of been the best candidate in any set (for example, if he is the best candidate in 10 sets you can give him a grade $\frac{10}{10,000}$.


You could try clustering the samples and assigning a grade to every cluster as the probability of a candidate in that cluster been the best candidate by $\frac{N_{best}}{N_{cluster}}$, where $N_{best}$ is the number of best candidates in any set in that cluster and $N_{cluster}$ is the number of candidates in that cluster
You can assign to each best candidate a grade like $1$ if he is best candidate in every set it appears and $1-e^{-\alpha N}$ for every $N$ times it appears in a set without been the best candidate. You will have to tune the decay rate $\alpha$ like any hyperparameter.