  In this article we propose an optimal method referred to as SPlit for
splitting a dataset into training and testing sets. SPlit is based on the
method of Support Points (SP), which was initially developed for finding the
optimal representative points of a continuous distribution. We adapt SP for
subsampling from a dataset using a sequential nearest neighbor algorithm. We
also extend SP to deal with categorical variables so that SPlit can be applied
to both regression and classification problems. The implementation of SPlit on
real datasets shows substantial improvement in the worst-case testing
performance for several modeling methods compared to the commonly used random
splitting procedure.
