Cross Validation

A cross-validation procedure is that non held out data (meaning after holding out the test set) is splitted in k folds/sets. The model is trained on k-1 sets and validated on 1 set to compute a performance measure such as accuracy

The performance measure reported by k-fold cross-validation is then the average of the values computed in the loop. This approach can be computationally expensive, but does not waste too much data (as is the case when fixing an arbitrary validation set), which is a major advantage in problems such as inverse inference where the number of samples is very small.

https://scikit-learn.org/stable/modules/cross_validation.html