title: Splitting data to training, testing and valuation when making Keras model
body: <p>I'm a little confused about splitting the dataset when I'm making and evaluating Keras machine learning models.
  Lets say that I have dataset of 1000 rows.</p>
  <pre><code>features = df.iloc[:,:-1]
  results = df.iloc[:,-1]
  </code></pre>
  <p>Now I want to split this data into training and testing (33% of data for testing, 67% for training):</p>
  <pre><code>x_train, X_test, y_train, y_test = train_test_split(features, results, test_size=0.33)
  </code></pre>
  <p>I have read on the internet that fitting the data into model should look like this:</p>
  <pre><code>history = model.fit(features, results, validation_split = 0.2, epochs = 10, batch_size=50)
  </code></pre>
  <p>So I'm fitting the full data (features and results) to my model, and from that data I'm using 20% of data for validation: <code>validation_split = 0.2</code>.
  So basically, my model will be trained with 80% of data, and tested on 20% of data.</p>
  <p>So confusion starts when I need to evaluate the model:</p>
  <pre><code>score = model.evaluate(x_test, y_test, batch_size=50)
  </code></pre>
  <p>Is this correct?
  I mean, why should I split the data into training and testing, where does x_train and y_train go?</p>
  <p>Can you please explain to me whats the correct order of steps for creating model?</p>