Train/Test Split involves splitting the dataset into training and testing sets respectively, which are mutually exclusive. After which, you train with the training set and test with the testing set. This will provide a more accurate evaluation on out
msk = np.random.rand(len(df)) < 0.8
train = cdf[msk]
test = cdf[~msk]