function split_data(data, train_frac=0.7, val_frac=0.15):

   shuffle(data)
   n = length(data)
   train = data[0 : n * train_frac]
   validation = data[n * train_frac : n * (train_frac + val_frac)]
   test = data[n * (train_frac + val_frac):]
   return train, validation, test

 # tune on validation, report the final number once on test
