Ketiga istilah ini sangat berkaitan dengan klasifikasi data. Sebuah model classifier pada klasifikasi data dibentuk berdasarkan data yang sudah ada, dan kemudian model tersebut digunakan untuk klasifikasi dan prediksi data baru yang belum pernah ada.
Pada umumnya, proses dapat digambarkan seperti ini:

Data umumnya dibagi menjadi training set dan testing set. Training set digunakan oleh algoritma klassifikasi (misalnya: decision tree, bayesian, neural network, SVM) untuk membentuk sebuah model classifier. Model ini merupakan representasi pengetahuan yang akan digunakan untuk prediksi kelas data baru yang belum pernah ada. Testing set digunakan untuk mengukur sejauh mana classifier berhasil melakukan klasifikasi dengan benar. Karena itu, data yang ada pada testing set seharusnya tidak boleh ada pada training set sehingga dapat diketahui apakah model classifier sudah “pintar” dalam melakukan klasifikasi.
Lain lagi halnya dengan validation set. Umumnya beberapa algoritma klasifikasi memerlukan beberapa parameter. Misalnya: jumlah hidden layer dan learning rate pada neural network; parameter kernel pada SVM. Biasanya sebagian dari training set diambil untuk validation set. Validation set ini digunakan untuk mencari parameter yang paling baik untuk sebuah algoritma klasifikasi.
Memisahkan data menjadi training dan testing set dimaksudkan agar model yang diperoleh nantinya memiliki kemampuan generalisasi yang baik dalam melakukan klasifikasi data. Tidak jarang sebuah model klasifikasi dapat melakukan klasifikasi data dengan sangat baik pada training set, tetapi sangat buruk dalam melakukan klasifikasi data yang baru dan belum pernah ada. Hal ini dinamakan overfitting. Model tersebut masih belum baik.