title: How do I know if my Neural Network model is overfitting or not (Keras)
body: <p>I'm using Keras to predict if I'll get an output of 1 or 0. The data looks like this:</p>
  
  <pre><code>    funded_amnt  emp_length  avg_cur_bal  num_actv_rev_tl    loan_status
      10000       5.60088      19266                 2                  1
      13750       5.60088      2802                  6                  0
      26100       10.0000      19241                17                  1
  </code></pre>
  
  <p>The target is <code>loan_status</code> and the features are the remaining. I've normalized the data before starting to build a Neural Network model.</p>
  
  <p>Here's the shape of my training and testing data:</p>
  
  <pre><code>    print(X_train.shape,Y_train.shape) 
      # Output: (693, 4) (693,)
  
      print(X_test.shape,Y_test.shape) 
      # Output: (149, 4) (149,)
  </code></pre>
  
  <p>The process I followed to build the Neural Network is:</p>
  
  <pre><code>     # define the keras model
       model = Sequential()
       model.add(Dense(4, input_dim=4,activation='relu'))
       model.add(Dense(4 ,activation='relu'))
       model.add(Dense(1,activation='sigmoid'))
  
       # compile the keras model
       model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
  
       # fit the keras model on the dataset
       hist = model.fit(X_train, Y_train, epochs=10, batch_size=2)
  
  </code></pre>
  
  <p>The output after running <code>hist</code>:</p>
  
  <pre><code>         Epoch 1/10
           693/693 [==============================] - 2s 2ms/step - loss: 0.6379 - acc: 0.7013
           Epoch 2/10
           693/693 [==============================] - 0s 611us/step - loss: 0.5207 - acc: 0.7951
           Epoch 3/10
           693/693 [==============================] - 0s 605us/step - loss: 0.5126 - acc: 0.7951
           Epoch 4/10
           693/693 [==============================] - 0s 621us/step - loss: 0.5109 - acc: 0.7951
           Epoch 5/10
           693/693 [==============================] - 0s 611us/step - loss: 0.5105 - acc: 0.7951
           Epoch 6/10
           693/693 [==============================] - 0s 636us/step - loss: 0.5091 - acc: 0.7951
           Epoch 7/10
           693/693 [==============================] - 0s 644us/step - loss: 0.5090 - acc: 0.7951
           Epoch 8/10
           693/693 [==============================] - 0s 659us/step - loss: 0.5086 - acc: 0.7951
           Epoch 9/10
           693/693 [==============================] - 0s 668us/step - loss: 0.5083 - acc: 0.7951
           Epoch 10/10
           693/693 [==============================] - 0s 656us/step - loss: 0.5076 - acc: 0.7951
  </code></pre>
  
  <p>it's all almost the same and doesn't change after the second Epoch. I've tried changing number of Epochs and Batch size but keep getting the same results.
  Is this normal? or is it a sign of overfitting and I need to change some parameters </p>