title: Select a random subset of data
body: <p>I have a dateset given to me that was previously split in training and validation (test) data. I need to further split the training data into a separate training data and calibration set, I don't want to touch my current validation (test) set. I don't have access to the original dataset.</p>
  <p>I would like to do this randomly, so that every time I can run my script, I get a different training and calibration test. I am aware of the .sample() function but my training dataset is of 44000 rows.</p>
  <h1>Original Datasets</h1>
  <pre><code>training = dataset.loc[dataset['split']== 'train']
  print(&quot;Training Created&quot;)
  #print(training.head())
  
  validation = dataset.loc[dataset['split']== 'valid']
  print(&quot;Validation Created&quot;)
  #print(validation.head())
  </code></pre>
  <p>Where I would need something like this:</p>
  <pre><code># proper training set
  x_train = breast_cancer.values[:-100, :-1]
  y_train = breast_cancer.values[:-100, -1]
  # calibration set
  x_cal = breast_cancer.values[-100:-1, :-1]
  y_cal = breast_cancer.values[-100:-1, -1]
  # (x_k+1, y_k+1)
  x_test = breast_cancer.values[-1, :-1]
  y_test = breast_cancer.values[-1, -1]
  </code></pre>
  <p>Unsure what to do with the second split</p>
  <h1>Example of Dataset</h1>
  <pre><code>Object  | Variable | Split
  Cancer1     55     Train
  Cancer5     45     Train
  Cancer2     56     Valid
  Cancer3     68     Valid
  Cancer4     75     Valid
  </code></pre>