Train, Test, and Validation Sets By Jared Wilber In most supervised machine learning tasks, best practice recommends to split your data into three independent sets: a training set, a testing set, and a validation set. To demo the reasons for splitting data in this manner, we will pretend that we have a dataset made of pets of the following two types: Cats: Dogs: For each pet in the dataset we