K-fold cross validation is a powerful testing process used to determine the accuracy of a predictive model.
The data is split in to K groups. Each group comprises 1/K of the total number of records. For each of these K groups, a model is created using the (K-1) / K records, and then tested on the 1/K records. The predictive power of the model is determined by its performance on the test data (1/K) rather than the training data.
When K=10, this procedure is run 10 times. A Model is produced using 90% of the data and then tested on a unique 10% of the data. The results from the tests on the 10 groups of 10% of the data are used to determine the predictive performance of the models.