To avoid overfitting, Percolator uses three-fold cross-validation during training of the SVM. The inputs are divided into three equally sized subsets and the classifier is trained three times. Each time all but one of the subsets is used for training and the excluded subset is used for validation. This process is repeated three times, so all combinations of training and validation sets are used. In addition, Percolator employs nested three-fold cross-validation within each training set to select the most suitable hyperparameters for the SVM training. The two training subsets are again divided into three parts, of which two serve as training and one as validation .