When we do the training we divide the data into two sets, train and test. this is called a hold-out set where we keep some data outside the training. This way we prevent the model from learning the test dataset. However, this method is not useful everywhere. Choosing the right cross-validation is very important as the different datasets may require different cross-validations.