Neural Networks with TensorFlow and Keras


In [1]:
import warnings
warnings.filterwarnings('ignore')

In [2]:
%matplotlib inline
%pylab inline


Populating the interactive namespace from numpy and matplotlib

In [3]:
import pandas as pd
print(pd.__version__)


0.22.0

In [4]:
import tensorflow as tf
tf.logging.set_verbosity(tf.logging.ERROR)
print(tf.__version__)


1.8.0

First Step: Load Data and disassemble for our purposes

We need a few more data point samples for this approach


In [5]:
!curl -O https://raw.githubusercontent.com/DJCordhose/ai/master/notebooks/workshops/deep-learning/data/insurance-customers-1500.csv


  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  5421  100  5421    0     0  20456      0 --:--:-- --:--:-- --:--:-- 20456

In [7]:
df = pd.read_csv('./insurance-customers-1500.csv', sep=';')

In [8]:
y=df['group']

In [9]:
df.drop('group', axis='columns', inplace=True)

In [10]:
X = df.as_matrix()

In [11]:
df.describe()


Out[11]:
max speed age thousand km per year
count 1500.000000 1500.000000 1500.000000
mean 171.386000 44.969333 30.511333
std 19.269126 16.935040 15.112317
min 118.000000 18.000000 5.000000
25% 158.000000 32.000000 18.000000
50% 170.000000 42.000000 29.000000
75% 187.000000 55.000000 42.000000
max 216.000000 90.000000 84.000000

Second Step: Deep Learning as Alchemy


In [12]:
# ignore this, it is just technical code
# should come from a lib, consider it to appear magically 
# http://scikit-learn.org/stable/auto_examples/neighbors/plot_classification.html

import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap

cmap_print = ListedColormap(['#AA8888', '#004000', '#FFFFDD'])
cmap_bold = ListedColormap(['#AA4444', '#006000', '#AAAA00'])
cmap_light = ListedColormap(['#FFAAAA', '#AAFFAA', '#FFFFDD'])
font_size=25

def meshGrid(x_data, y_data):
    h = 1  # step size in the mesh
    x_min, x_max = x_data.min() - 1, x_data.max() + 1
    y_min, y_max = y_data.min() - 1, y_data.max() + 1
    xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
                         np.arange(y_min, y_max, h))
    return (xx,yy)
    
def plotPrediction(clf, x_data, y_data, x_label, y_label, colors, title="", mesh=True, fixed=None, fname=None, print=False):
    xx,yy = meshGrid(x_data, y_data)
    plt.figure(figsize=(20,10))

    if clf and mesh:
        grid_X = np.array(np.c_[yy.ravel(), xx.ravel()])
        if fixed:
            fill_values = np.full((len(grid_X), 1), fixed)
            grid_X = np.append(grid_X, fill_values, axis=1)
        Z = clf.predict(grid_X)
        Z = np.argmax(Z, axis=1)
        Z = Z.reshape(xx.shape)
        plt.pcolormesh(xx, yy, Z, cmap=cmap_light)
    plt.xlim(xx.min(), xx.max())
    plt.ylim(yy.min(), yy.max())
    if print:
        plt.scatter(x_data, y_data, c=colors, cmap=cmap_print, s=200, marker='o', edgecolors='k')
    else:
        plt.scatter(x_data, y_data, c=colors, cmap=cmap_bold, s=80, marker='o', edgecolors='k')
    plt.xlabel(x_label, fontsize=font_size)
    plt.ylabel(y_label, fontsize=font_size)
    plt.title(title, fontsize=font_size)
    if fname:
        plt.savefig(fname)

In [13]:
from sklearn.model_selection import train_test_split

In [14]:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=42, stratify=y)

In [15]:
X_train.shape, y_train.shape, X_test.shape, y_test.shape


Out[15]:
((900, 3), (900,), (600, 3), (600,))

In [16]:
# tiny little pieces of feature engeneering
num_categories = 3

y_train_categorical = tf.keras.utils.to_categorical(y_train, num_categories)
y_test_categorical = tf.keras.utils.to_categorical(y_test, num_categories)

In [17]:
inputs = tf.keras.Input(name='input', shape=(3, ))
x = tf.keras.layers.Dense(100, name='hidden1', activation='relu')(inputs)
x = tf.keras.layers.Dense(100, name='hidden2', activation='relu')(x)
predictions = tf.keras.layers.Dense(3, name='softmax', activation='softmax')(x)
model = tf.keras.models.Model(inputs=inputs, outputs=predictions)

# loss function: http://cs231n.github.io/linear-classify/#softmax
model.compile(optimizer='adam',
              loss='categorical_crossentropy',
              metrics=['accuracy'])
model.summary()


_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input (InputLayer)           (None, 3)                 0         
_________________________________________________________________
hidden1 (Dense)              (None, 100)               400       
_________________________________________________________________
hidden2 (Dense)              (None, 100)               10100     
_________________________________________________________________
softmax (Dense)              (None, 3)                 303       
=================================================================
Total params: 10,803
Trainable params: 10,803
Non-trainable params: 0
_________________________________________________________________

In [18]:
%time model.fit(X_train, y_train_categorical, epochs=500, batch_size=100)


Epoch 1/500
900/900 [==============================] - 3s 4ms/step - loss: 6.8368 - acc: 0.3389
Epoch 2/500
900/900 [==============================] - 0s 90us/step - loss: 4.3375 - acc: 0.3778
Epoch 3/500
900/900 [==============================] - 0s 77us/step - loss: 2.7201 - acc: 0.3822
Epoch 4/500
900/900 [==============================] - 0s 77us/step - loss: 1.5791 - acc: 0.3744
Epoch 5/500
900/900 [==============================] - 0s 79us/step - loss: 1.1002 - acc: 0.4944
Epoch 6/500
900/900 [==============================] - 0s 60us/step - loss: 0.9161 - acc: 0.5867
Epoch 7/500
900/900 [==============================] - 0s 76us/step - loss: 0.8653 - acc: 0.6178
Epoch 8/500
900/900 [==============================] - 0s 77us/step - loss: 0.8448 - acc: 0.6367
Epoch 9/500
900/900 [==============================] - 0s 77us/step - loss: 0.8490 - acc: 0.6344
Epoch 10/500
900/900 [==============================] - 0s 76us/step - loss: 0.8886 - acc: 0.6144
Epoch 11/500
900/900 [==============================] - 0s 67us/step - loss: 0.9053 - acc: 0.5833
Epoch 12/500
900/900 [==============================] - 0s 76us/step - loss: 0.8927 - acc: 0.6122
Epoch 13/500
900/900 [==============================] - 0s 83us/step - loss: 0.9509 - acc: 0.5622
Epoch 14/500
900/900 [==============================] - 0s 89us/step - loss: 0.9896 - acc: 0.5811
Epoch 15/500
900/900 [==============================] - 0s 88us/step - loss: 0.8261 - acc: 0.6511
Epoch 16/500
900/900 [==============================] - 0s 73us/step - loss: 0.8612 - acc: 0.6156
Epoch 17/500
900/900 [==============================] - 0s 61us/step - loss: 0.9010 - acc: 0.6167
Epoch 18/500
900/900 [==============================] - 0s 81us/step - loss: 0.8249 - acc: 0.6511
Epoch 19/500
900/900 [==============================] - 0s 87us/step - loss: 0.7769 - acc: 0.6711
Epoch 20/500
900/900 [==============================] - 0s 60us/step - loss: 0.7799 - acc: 0.6711
Epoch 21/500
900/900 [==============================] - 0s 61us/step - loss: 0.7770 - acc: 0.6644
Epoch 22/500
900/900 [==============================] - 0s 70us/step - loss: 0.7930 - acc: 0.6544
Epoch 23/500
900/900 [==============================] - 0s 91us/step - loss: 0.7839 - acc: 0.6633
Epoch 24/500
900/900 [==============================] - 0s 60us/step - loss: 0.7734 - acc: 0.6722
Epoch 25/500
900/900 [==============================] - 0s 88us/step - loss: 0.7740 - acc: 0.6667
Epoch 26/500
900/900 [==============================] - 0s 72us/step - loss: 0.7973 - acc: 0.6589
Epoch 27/500
900/900 [==============================] - 0s 84us/step - loss: 0.7694 - acc: 0.6789
Epoch 28/500
900/900 [==============================] - 0s 74us/step - loss: 0.7777 - acc: 0.6811
Epoch 29/500
900/900 [==============================] - 0s 60us/step - loss: 0.8753 - acc: 0.6011
Epoch 30/500
900/900 [==============================] - 0s 74us/step - loss: 0.9357 - acc: 0.6133
Epoch 31/500
900/900 [==============================] - 0s 96us/step - loss: 0.9000 - acc: 0.5911
Epoch 32/500
900/900 [==============================] - 0s 70us/step - loss: 0.8112 - acc: 0.6489
Epoch 33/500
900/900 [==============================] - 0s 94us/step - loss: 0.8053 - acc: 0.6622
Epoch 34/500
900/900 [==============================] - 0s 88us/step - loss: 0.8498 - acc: 0.6433
Epoch 35/500
900/900 [==============================] - 0s 72us/step - loss: 0.8020 - acc: 0.6544
Epoch 36/500
900/900 [==============================] - 0s 72us/step - loss: 0.7717 - acc: 0.6689
Epoch 37/500
900/900 [==============================] - 0s 81us/step - loss: 0.7776 - acc: 0.6700
Epoch 38/500
900/900 [==============================] - 0s 92us/step - loss: 0.7503 - acc: 0.6900
Epoch 39/500
900/900 [==============================] - 0s 76us/step - loss: 0.7975 - acc: 0.6644
Epoch 40/500
900/900 [==============================] - 0s 130us/step - loss: 0.8116 - acc: 0.6478
Epoch 41/500
900/900 [==============================] - 0s 81us/step - loss: 0.7902 - acc: 0.6533
Epoch 42/500
900/900 [==============================] - 0s 67us/step - loss: 0.7735 - acc: 0.6622
Epoch 43/500
900/900 [==============================] - 0s 62us/step - loss: 0.8061 - acc: 0.6422
Epoch 44/500
900/900 [==============================] - 0s 77us/step - loss: 0.7757 - acc: 0.6689
Epoch 45/500
900/900 [==============================] - 0s 89us/step - loss: 0.7666 - acc: 0.6656
Epoch 46/500
900/900 [==============================] - 0s 68us/step - loss: 0.8047 - acc: 0.6600
Epoch 47/500
900/900 [==============================] - 0s 76us/step - loss: 0.8155 - acc: 0.6478
Epoch 48/500
900/900 [==============================] - 0s 79us/step - loss: 0.8441 - acc: 0.6433
Epoch 49/500
900/900 [==============================] - 0s 89us/step - loss: 0.8176 - acc: 0.6533
Epoch 50/500
900/900 [==============================] - 0s 77us/step - loss: 0.7862 - acc: 0.6733
Epoch 51/500
900/900 [==============================] - 0s 77us/step - loss: 0.8273 - acc: 0.6367
Epoch 52/500
900/900 [==============================] - 0s 79us/step - loss: 0.8201 - acc: 0.6478
Epoch 53/500
900/900 [==============================] - 0s 83us/step - loss: 0.8263 - acc: 0.6367
Epoch 54/500
900/900 [==============================] - 0s 82us/step - loss: 0.8397 - acc: 0.6533
Epoch 55/500
900/900 [==============================] - 0s 57us/step - loss: 0.8530 - acc: 0.6256
Epoch 56/500
900/900 [==============================] - 0s 81us/step - loss: 0.8255 - acc: 0.6289
Epoch 57/500
900/900 [==============================] - 0s 59us/step - loss: 0.7945 - acc: 0.6667
Epoch 58/500
900/900 [==============================] - 0s 67us/step - loss: 0.7935 - acc: 0.6611
Epoch 59/500
900/900 [==============================] - 0s 54us/step - loss: 0.7858 - acc: 0.6611
Epoch 60/500
900/900 [==============================] - 0s 70us/step - loss: 0.7597 - acc: 0.6733
Epoch 61/500
900/900 [==============================] - 0s 59us/step - loss: 0.7752 - acc: 0.6700
Epoch 62/500
900/900 [==============================] - 0s 68us/step - loss: 0.7936 - acc: 0.6622
Epoch 63/500
900/900 [==============================] - 0s 70us/step - loss: 0.7663 - acc: 0.6711
Epoch 64/500
900/900 [==============================] - 0s 127us/step - loss: 0.7876 - acc: 0.6544
Epoch 65/500
900/900 [==============================] - 0s 135us/step - loss: 0.8210 - acc: 0.6378
Epoch 66/500
900/900 [==============================] - 0s 77us/step - loss: 0.8153 - acc: 0.6533
Epoch 67/500
900/900 [==============================] - 0s 84us/step - loss: 0.7768 - acc: 0.6800
Epoch 68/500
900/900 [==============================] - 0s 64us/step - loss: 0.7763 - acc: 0.6467
Epoch 69/500
900/900 [==============================] - 0s 74us/step - loss: 0.8047 - acc: 0.6611
Epoch 70/500
900/900 [==============================] - 0s 81us/step - loss: 0.8619 - acc: 0.6378
Epoch 71/500
900/900 [==============================] - 0s 62us/step - loss: 0.8063 - acc: 0.6744
Epoch 72/500
900/900 [==============================] - 0s 70us/step - loss: 0.8096 - acc: 0.6678
Epoch 73/500
900/900 [==============================] - 0s 90us/step - loss: 0.7803 - acc: 0.6567
Epoch 74/500
900/900 [==============================] - 0s 63us/step - loss: 0.7705 - acc: 0.6489
Epoch 75/500
900/900 [==============================] - 0s 73us/step - loss: 0.7851 - acc: 0.6656
Epoch 76/500
900/900 [==============================] - 0s 74us/step - loss: 0.7607 - acc: 0.6878
Epoch 77/500
900/900 [==============================] - 0s 71us/step - loss: 0.7966 - acc: 0.6444
Epoch 78/500
900/900 [==============================] - 0s 74us/step - loss: 0.8286 - acc: 0.6600
Epoch 79/500
900/900 [==============================] - 0s 77us/step - loss: 0.7708 - acc: 0.6644
Epoch 80/500
900/900 [==============================] - 0s 76us/step - loss: 0.7654 - acc: 0.6789
Epoch 81/500
900/900 [==============================] - 0s 71us/step - loss: 0.7675 - acc: 0.6744
Epoch 82/500
900/900 [==============================] - 0s 82us/step - loss: 0.7589 - acc: 0.6744
Epoch 83/500
900/900 [==============================] - 0s 64us/step - loss: 0.8256 - acc: 0.6500
Epoch 84/500
900/900 [==============================] - 0s 71us/step - loss: 0.8055 - acc: 0.6533
Epoch 85/500
900/900 [==============================] - 0s 81us/step - loss: 0.8132 - acc: 0.6400
Epoch 86/500
900/900 [==============================] - 0s 78us/step - loss: 0.7690 - acc: 0.6778
Epoch 87/500
900/900 [==============================] - 0s 58us/step - loss: 0.7516 - acc: 0.6744
Epoch 88/500
900/900 [==============================] - 0s 57us/step - loss: 0.7709 - acc: 0.6678
Epoch 89/500
900/900 [==============================] - 0s 60us/step - loss: 0.8033 - acc: 0.6322
Epoch 90/500
900/900 [==============================] - 0s 63us/step - loss: 0.8119 - acc: 0.6511
Epoch 91/500
900/900 [==============================] - 0s 58us/step - loss: 0.8095 - acc: 0.6544
Epoch 92/500
900/900 [==============================] - 0s 59us/step - loss: 0.7959 - acc: 0.6667
Epoch 93/500
900/900 [==============================] - 0s 60us/step - loss: 0.8575 - acc: 0.6533
Epoch 94/500
900/900 [==============================] - 0s 59us/step - loss: 0.9181 - acc: 0.6156
Epoch 95/500
900/900 [==============================] - 0s 62us/step - loss: 0.8417 - acc: 0.6278
Epoch 96/500
900/900 [==============================] - 0s 60us/step - loss: 0.8073 - acc: 0.6511
Epoch 97/500
900/900 [==============================] - 0s 62us/step - loss: 0.7986 - acc: 0.6578
Epoch 98/500
900/900 [==============================] - 0s 62us/step - loss: 0.7709 - acc: 0.6644
Epoch 99/500
900/900 [==============================] - 0s 63us/step - loss: 0.7527 - acc: 0.6833
Epoch 100/500
900/900 [==============================] - 0s 60us/step - loss: 0.7556 - acc: 0.6678
Epoch 101/500
900/900 [==============================] - 0s 59us/step - loss: 0.7606 - acc: 0.6811
Epoch 102/500
900/900 [==============================] - 0s 62us/step - loss: 0.7997 - acc: 0.6711
Epoch 103/500
900/900 [==============================] - 0s 59us/step - loss: 0.8102 - acc: 0.6278
Epoch 104/500
900/900 [==============================] - 0s 60us/step - loss: 0.8858 - acc: 0.6056
Epoch 105/500
900/900 [==============================] - 0s 61us/step - loss: 0.8032 - acc: 0.6567
Epoch 106/500
900/900 [==============================] - 0s 51us/step - loss: 0.8001 - acc: 0.6600
Epoch 107/500
900/900 [==============================] - 0s 72us/step - loss: 0.7701 - acc: 0.6644
Epoch 108/500
900/900 [==============================] - 0s 51us/step - loss: 0.7508 - acc: 0.6900
Epoch 109/500
900/900 [==============================] - 0s 60us/step - loss: 0.7769 - acc: 0.6644
Epoch 110/500
900/900 [==============================] - 0s 70us/step - loss: 0.7928 - acc: 0.6733
Epoch 111/500
900/900 [==============================] - 0s 52us/step - loss: 0.7776 - acc: 0.6656
Epoch 112/500
900/900 [==============================] - 0s 57us/step - loss: 0.8321 - acc: 0.6278
Epoch 113/500
900/900 [==============================] - 0s 56us/step - loss: 0.7861 - acc: 0.6467
Epoch 114/500
900/900 [==============================] - 0s 56us/step - loss: 0.7888 - acc: 0.6556
Epoch 115/500
900/900 [==============================] - 0s 67us/step - loss: 0.8343 - acc: 0.6533
Epoch 116/500
900/900 [==============================] - 0s 49us/step - loss: 0.8257 - acc: 0.6378
Epoch 117/500
900/900 [==============================] - 0s 71us/step - loss: 0.8377 - acc: 0.6356
Epoch 118/500
900/900 [==============================] - 0s 49us/step - loss: 0.9003 - acc: 0.6111
Epoch 119/500
900/900 [==============================] - 0s 67us/step - loss: 0.8329 - acc: 0.6222
Epoch 120/500
900/900 [==============================] - 0s 48us/step - loss: 0.8059 - acc: 0.6444
Epoch 121/500
900/900 [==============================] - 0s 58us/step - loss: 0.8166 - acc: 0.6644
Epoch 122/500
900/900 [==============================] - 0s 67us/step - loss: 0.7793 - acc: 0.6633
Epoch 123/500
900/900 [==============================] - 0s 47us/step - loss: 0.7587 - acc: 0.6844
Epoch 124/500
900/900 [==============================] - 0s 67us/step - loss: 0.7844 - acc: 0.6600
Epoch 125/500
900/900 [==============================] - 0s 47us/step - loss: 0.7741 - acc: 0.6722
Epoch 126/500
900/900 [==============================] - 0s 70us/step - loss: 0.7526 - acc: 0.6800
Epoch 127/500
900/900 [==============================] - 0s 48us/step - loss: 0.7573 - acc: 0.6811
Epoch 128/500
900/900 [==============================] - 0s 55us/step - loss: 0.7784 - acc: 0.6689
Epoch 129/500
900/900 [==============================] - 0s 57us/step - loss: 0.7658 - acc: 0.6756
Epoch 130/500
900/900 [==============================] - 0s 68us/step - loss: 0.7686 - acc: 0.6811
Epoch 131/500
900/900 [==============================] - 0s 49us/step - loss: 0.7764 - acc: 0.6689
Epoch 132/500
900/900 [==============================] - 0s 57us/step - loss: 0.8153 - acc: 0.6567
Epoch 133/500
900/900 [==============================] - 0s 57us/step - loss: 0.8134 - acc: 0.6489
Epoch 134/500
900/900 [==============================] - 0s 56us/step - loss: 0.8585 - acc: 0.6100
Epoch 135/500
900/900 [==============================] - 0s 83us/step - loss: 0.8225 - acc: 0.6522
Epoch 136/500
900/900 [==============================] - 0s 60us/step - loss: 0.8281 - acc: 0.6456
Epoch 137/500
900/900 [==============================] - 0s 47us/step - loss: 0.8099 - acc: 0.6600
Epoch 138/500
900/900 [==============================] - 0s 60us/step - loss: 0.8281 - acc: 0.6133
Epoch 139/500
900/900 [==============================] - 0s 54us/step - loss: 0.8279 - acc: 0.6422
Epoch 140/500
900/900 [==============================] - 0s 87us/step - loss: 0.7888 - acc: 0.6578
Epoch 141/500
900/900 [==============================] - 0s 60us/step - loss: 0.7888 - acc: 0.6711
Epoch 142/500
900/900 [==============================] - 0s 47us/step - loss: 0.7443 - acc: 0.6900
Epoch 143/500
900/900 [==============================] - 0s 56us/step - loss: 0.7714 - acc: 0.6733
Epoch 144/500
900/900 [==============================] - 0s 60us/step - loss: 0.7833 - acc: 0.6789
Epoch 145/500
900/900 [==============================] - 0s 68us/step - loss: 0.7635 - acc: 0.6867
Epoch 146/500
900/900 [==============================] - 0s 48us/step - loss: 0.7857 - acc: 0.6589
Epoch 147/500
900/900 [==============================] - 0s 58us/step - loss: 0.8250 - acc: 0.6567
Epoch 148/500
900/900 [==============================] - 0s 61us/step - loss: 0.7856 - acc: 0.6611
Epoch 149/500
900/900 [==============================] - 0s 56us/step - loss: 0.8151 - acc: 0.6444
Epoch 150/500
900/900 [==============================] - 0s 57us/step - loss: 0.8395 - acc: 0.6344
Epoch 151/500
900/900 [==============================] - 0s 60us/step - loss: 0.8517 - acc: 0.6344
Epoch 152/500
900/900 [==============================] - 0s 58us/step - loss: 0.7940 - acc: 0.6467
Epoch 153/500
900/900 [==============================] - 0s 61us/step - loss: 0.8365 - acc: 0.6300
Epoch 154/500
900/900 [==============================] - 0s 64us/step - loss: 0.8410 - acc: 0.6289
Epoch 155/500
900/900 [==============================] - 0s 56us/step - loss: 0.8573 - acc: 0.6322
Epoch 156/500
900/900 [==============================] - 0s 62us/step - loss: 0.8023 - acc: 0.6811
Epoch 157/500
900/900 [==============================] - 0s 52us/step - loss: 0.7744 - acc: 0.6733
Epoch 158/500
900/900 [==============================] - 0s 72us/step - loss: 0.7631 - acc: 0.6856
Epoch 159/500
900/900 [==============================] - 0s 47us/step - loss: 0.7595 - acc: 0.6711
Epoch 160/500
900/900 [==============================] - 0s 68us/step - loss: 0.7989 - acc: 0.6722
Epoch 161/500
900/900 [==============================] - 0s 48us/step - loss: 0.8652 - acc: 0.6333
Epoch 162/500
900/900 [==============================] - 0s 58us/step - loss: 0.8533 - acc: 0.6311
Epoch 163/500
900/900 [==============================] - 0s 86us/step - loss: 0.7679 - acc: 0.6778
Epoch 164/500
900/900 [==============================] - 0s 50us/step - loss: 0.8083 - acc: 0.6533
Epoch 165/500
900/900 [==============================] - 0s 60us/step - loss: 0.7951 - acc: 0.6689
Epoch 166/500
900/900 [==============================] - 0s 72us/step - loss: 0.7450 - acc: 0.6789
Epoch 167/500
900/900 [==============================] - 0s 48us/step - loss: 0.7725 - acc: 0.6700
Epoch 168/500
900/900 [==============================] - 0s 122us/step - loss: 0.7684 - acc: 0.6711
Epoch 169/500
900/900 [==============================] - 0s 135us/step - loss: 0.8131 - acc: 0.6422
Epoch 170/500
900/900 [==============================] - 0s 106us/step - loss: 0.8456 - acc: 0.6422
Epoch 171/500
900/900 [==============================] - 0s 124us/step - loss: 0.8006 - acc: 0.6600
Epoch 172/500
900/900 [==============================] - 0s 110us/step - loss: 0.8090 - acc: 0.6433
Epoch 173/500
900/900 [==============================] - 0s 112us/step - loss: 0.8866 - acc: 0.6044
Epoch 174/500
900/900 [==============================] - 0s 107us/step - loss: 0.8315 - acc: 0.6344
Epoch 175/500
900/900 [==============================] - 0s 66us/step - loss: 0.7943 - acc: 0.6644
Epoch 176/500
900/900 [==============================] - 0s 62us/step - loss: 0.7436 - acc: 0.6856
Epoch 177/500
900/900 [==============================] - 0s 68us/step - loss: 0.7593 - acc: 0.6756
Epoch 178/500
900/900 [==============================] - 0s 87us/step - loss: 0.7651 - acc: 0.6700
Epoch 179/500
900/900 [==============================] - 0s 77us/step - loss: 0.7932 - acc: 0.6578
Epoch 180/500
900/900 [==============================] - 0s 101us/step - loss: 0.7516 - acc: 0.6900
Epoch 181/500
900/900 [==============================] - 0s 64us/step - loss: 0.7563 - acc: 0.6900
Epoch 182/500
900/900 [==============================] - 0s 52us/step - loss: 0.7843 - acc: 0.6767
Epoch 183/500
900/900 [==============================] - 0s 32us/step - loss: 0.7376 - acc: 0.6856
Epoch 184/500
900/900 [==============================] - 0s 53us/step - loss: 0.7597 - acc: 0.6800
Epoch 185/500
900/900 [==============================] - 0s 37us/step - loss: 0.7660 - acc: 0.6767
Epoch 186/500
900/900 [==============================] - 0s 44us/step - loss: 0.7533 - acc: 0.6800
Epoch 187/500
900/900 [==============================] - 0s 41us/step - loss: 0.7536 - acc: 0.6700
Epoch 188/500
900/900 [==============================] - 0s 40us/step - loss: 0.7519 - acc: 0.6889
Epoch 189/500
900/900 [==============================] - 0s 44us/step - loss: 0.7597 - acc: 0.6722
Epoch 190/500
900/900 [==============================] - 0s 58us/step - loss: 0.7619 - acc: 0.6778
Epoch 191/500
900/900 [==============================] - 0s 29us/step - loss: 0.7607 - acc: 0.6911
Epoch 192/500
900/900 [==============================] - 0s 56us/step - loss: 0.7939 - acc: 0.6522
Epoch 193/500
900/900 [==============================] - 0s 35us/step - loss: 0.7667 - acc: 0.6733
Epoch 194/500
900/900 [==============================] - 0s 55us/step - loss: 0.7846 - acc: 0.6656
Epoch 195/500
900/900 [==============================] - 0s 43us/step - loss: 0.7611 - acc: 0.6644
Epoch 196/500
900/900 [==============================] - 0s 58us/step - loss: 0.7959 - acc: 0.6533
Epoch 197/500
900/900 [==============================] - 0s 100us/step - loss: 0.7774 - acc: 0.6656
Epoch 198/500
900/900 [==============================] - 0s 137us/step - loss: 0.7842 - acc: 0.6589
Epoch 199/500
900/900 [==============================] - 0s 120us/step - loss: 0.7694 - acc: 0.6700
Epoch 200/500
900/900 [==============================] - 0s 106us/step - loss: 0.7570 - acc: 0.6711
Epoch 201/500
900/900 [==============================] - 0s 35us/step - loss: 0.8160 - acc: 0.6544
Epoch 202/500
900/900 [==============================] - 0s 52us/step - loss: 0.8294 - acc: 0.6467
Epoch 203/500
900/900 [==============================] - 0s 35us/step - loss: 0.7425 - acc: 0.6956
Epoch 204/500
900/900 [==============================] - 0s 52us/step - loss: 0.7517 - acc: 0.6889
Epoch 205/500
900/900 [==============================] - 0s 35us/step - loss: 0.7563 - acc: 0.6933
Epoch 206/500
900/900 [==============================] - 0s 35us/step - loss: 0.7688 - acc: 0.6667
Epoch 207/500
900/900 [==============================] - 0s 59us/step - loss: 0.7522 - acc: 0.6833
Epoch 208/500
900/900 [==============================] - 0s 52us/step - loss: 0.7562 - acc: 0.6744
Epoch 209/500
900/900 [==============================] - 0s 44us/step - loss: 0.7541 - acc: 0.6722
Epoch 210/500
900/900 [==============================] - 0s 40us/step - loss: 0.7450 - acc: 0.6800
Epoch 211/500
900/900 [==============================] - 0s 35us/step - loss: 0.7396 - acc: 0.6844
Epoch 212/500
900/900 [==============================] - 0s 52us/step - loss: 0.7629 - acc: 0.6756
Epoch 213/500
900/900 [==============================] - 0s 44us/step - loss: 0.7767 - acc: 0.6744
Epoch 214/500
900/900 [==============================] - 0s 48us/step - loss: 0.8065 - acc: 0.6433
Epoch 215/500
900/900 [==============================] - 0s 48us/step - loss: 0.8227 - acc: 0.6533
Epoch 216/500
900/900 [==============================] - 0s 50us/step - loss: 0.7837 - acc: 0.6633
Epoch 217/500
900/900 [==============================] - 0s 46us/step - loss: 0.7931 - acc: 0.6656
Epoch 218/500
900/900 [==============================] - 0s 60us/step - loss: 0.7783 - acc: 0.6800
Epoch 219/500
900/900 [==============================] - 0s 57us/step - loss: 0.7869 - acc: 0.6533
Epoch 220/500
900/900 [==============================] - 0s 44us/step - loss: 0.8040 - acc: 0.6556
Epoch 221/500
900/900 [==============================] - 0s 26us/step - loss: 0.7982 - acc: 0.6367
Epoch 222/500
900/900 [==============================] - 0s 54us/step - loss: 0.8682 - acc: 0.6333
Epoch 223/500
900/900 [==============================] - 0s 40us/step - loss: 0.8524 - acc: 0.6444
Epoch 224/500
900/900 [==============================] - 0s 39us/step - loss: 0.8205 - acc: 0.6533
Epoch 225/500
900/900 [==============================] - 0s 35us/step - loss: 0.8212 - acc: 0.6344
Epoch 226/500
900/900 [==============================] - 0s 52us/step - loss: 0.8728 - acc: 0.6333
Epoch 227/500
900/900 [==============================] - 0s 62us/step - loss: 0.7706 - acc: 0.6633
Epoch 228/500
900/900 [==============================] - 0s 35us/step - loss: 0.7488 - acc: 0.6933
Epoch 229/500
900/900 [==============================] - 0s 35us/step - loss: 0.8209 - acc: 0.6556
Epoch 230/500
900/900 [==============================] - 0s 52us/step - loss: 0.7665 - acc: 0.6733
Epoch 231/500
900/900 [==============================] - 0s 35us/step - loss: 0.7554 - acc: 0.6844
Epoch 232/500
900/900 [==============================] - 0s 49us/step - loss: 0.7930 - acc: 0.6600
Epoch 233/500
900/900 [==============================] - 0s 36us/step - loss: 0.8192 - acc: 0.6511
Epoch 234/500
900/900 [==============================] - 0s 35us/step - loss: 0.7460 - acc: 0.6767
Epoch 235/500
900/900 [==============================] - 0s 52us/step - loss: 0.7671 - acc: 0.6700
Epoch 236/500
900/900 [==============================] - 0s 35us/step - loss: 0.7775 - acc: 0.6689
Epoch 237/500
900/900 [==============================] - 0s 35us/step - loss: 0.8141 - acc: 0.6656
Epoch 238/500
900/900 [==============================] - 0s 52us/step - loss: 0.7777 - acc: 0.6656
Epoch 239/500
900/900 [==============================] - 0s 52us/step - loss: 0.7482 - acc: 0.6822
Epoch 240/500
900/900 [==============================] - 0s 35us/step - loss: 0.7572 - acc: 0.6700
Epoch 241/500
900/900 [==============================] - 0s 52us/step - loss: 0.7850 - acc: 0.6689
Epoch 242/500
900/900 [==============================] - 0s 35us/step - loss: 0.7498 - acc: 0.6800
Epoch 243/500
900/900 [==============================] - 0s 37us/step - loss: 0.7276 - acc: 0.6911
Epoch 244/500
900/900 [==============================] - 0s 43us/step - loss: 0.7531 - acc: 0.6856
Epoch 245/500
900/900 [==============================] - 0s 43us/step - loss: 0.7295 - acc: 0.6867
Epoch 246/500
900/900 [==============================] - 0s 35us/step - loss: 0.7417 - acc: 0.6878
Epoch 247/500
900/900 [==============================] - 0s 46us/step - loss: 0.7687 - acc: 0.6689
Epoch 248/500
900/900 [==============================] - 0s 47us/step - loss: 0.7611 - acc: 0.6767
Epoch 249/500
900/900 [==============================] - 0s 29us/step - loss: 0.7635 - acc: 0.6622
Epoch 250/500
900/900 [==============================] - 0s 52us/step - loss: 0.7891 - acc: 0.6556
Epoch 251/500
900/900 [==============================] - 0s 38us/step - loss: 0.7727 - acc: 0.6711
Epoch 252/500
900/900 [==============================] - 0s 35us/step - loss: 0.7540 - acc: 0.6656
Epoch 253/500
900/900 [==============================] - 0s 35us/step - loss: 0.7670 - acc: 0.6744
Epoch 254/500
900/900 [==============================] - 0s 35us/step - loss: 0.8063 - acc: 0.6667
Epoch 255/500
900/900 [==============================] - 0s 38us/step - loss: 0.8454 - acc: 0.6378
Epoch 256/500
900/900 [==============================] - 0s 52us/step - loss: 0.7947 - acc: 0.6756
Epoch 257/500
900/900 [==============================] - 0s 35us/step - loss: 0.8001 - acc: 0.6711
Epoch 258/500
900/900 [==============================] - 0s 52us/step - loss: 0.7719 - acc: 0.6667
Epoch 259/500
900/900 [==============================] - 0s 27us/step - loss: 0.7475 - acc: 0.6911
Epoch 260/500
900/900 [==============================] - 0s 52us/step - loss: 0.7703 - acc: 0.6678
Epoch 261/500
900/900 [==============================] - 0s 42us/step - loss: 0.7529 - acc: 0.6811
Epoch 262/500
900/900 [==============================] - 0s 35us/step - loss: 0.7302 - acc: 0.7067
Epoch 263/500
900/900 [==============================] - 0s 35us/step - loss: 0.7410 - acc: 0.6733
Epoch 264/500
900/900 [==============================] - 0s 52us/step - loss: 0.7717 - acc: 0.6644
Epoch 265/500
900/900 [==============================] - 0s 35us/step - loss: 0.7601 - acc: 0.6689
Epoch 266/500
900/900 [==============================] - 0s 52us/step - loss: 0.7335 - acc: 0.7011
Epoch 267/500
900/900 [==============================] - 0s 35us/step - loss: 0.7540 - acc: 0.6678
Epoch 268/500
900/900 [==============================] - 0s 35us/step - loss: 0.7797 - acc: 0.6756
Epoch 269/500
900/900 [==============================] - 0s 52us/step - loss: 0.7396 - acc: 0.6900
Epoch 270/500
900/900 [==============================] - 0s 42us/step - loss: 0.7739 - acc: 0.6678
Epoch 271/500
900/900 [==============================] - 0s 46us/step - loss: 0.7625 - acc: 0.6756
Epoch 272/500
900/900 [==============================] - 0s 25us/step - loss: 0.7506 - acc: 0.6767
Epoch 273/500
900/900 [==============================] - 0s 35us/step - loss: 0.7492 - acc: 0.6933
Epoch 274/500
900/900 [==============================] - 0s 35us/step - loss: 0.7553 - acc: 0.6711
Epoch 275/500
900/900 [==============================] - 0s 53us/step - loss: 0.8018 - acc: 0.6700
Epoch 276/500
900/900 [==============================] - 0s 35us/step - loss: 0.7453 - acc: 0.6878
Epoch 277/500
900/900 [==============================] - 0s 54us/step - loss: 0.7319 - acc: 0.7011
Epoch 278/500
900/900 [==============================] - 0s 35us/step - loss: 0.7576 - acc: 0.6700
Epoch 279/500
900/900 [==============================] - 0s 52us/step - loss: 0.7933 - acc: 0.6711
Epoch 280/500
900/900 [==============================] - 0s 35us/step - loss: 0.7612 - acc: 0.6867
Epoch 281/500
900/900 [==============================] - 0s 35us/step - loss: 0.7561 - acc: 0.6744
Epoch 282/500
900/900 [==============================] - 0s 52us/step - loss: 0.7509 - acc: 0.6667
Epoch 283/500
900/900 [==============================] - 0s 49us/step - loss: 0.7361 - acc: 0.6844
Epoch 284/500
900/900 [==============================] - 0s 36us/step - loss: 0.7504 - acc: 0.6867
Epoch 285/500
900/900 [==============================] - 0s 47us/step - loss: 0.7449 - acc: 0.6911
Epoch 286/500
900/900 [==============================] - 0s 38us/step - loss: 0.7458 - acc: 0.6789
Epoch 287/500
900/900 [==============================] - 0s 35us/step - loss: 0.7794 - acc: 0.6744
Epoch 288/500
900/900 [==============================] - 0s 52us/step - loss: 0.7749 - acc: 0.6478
Epoch 289/500
900/900 [==============================] - 0s 35us/step - loss: 0.7863 - acc: 0.6644
Epoch 290/500
900/900 [==============================] - 0s 52us/step - loss: 0.7726 - acc: 0.6822
Epoch 291/500
900/900 [==============================] - 0s 35us/step - loss: 0.7531 - acc: 0.6889
Epoch 292/500
900/900 [==============================] - 0s 52us/step - loss: 0.7514 - acc: 0.6822
Epoch 293/500
900/900 [==============================] - 0s 35us/step - loss: 0.7768 - acc: 0.6744
Epoch 294/500
900/900 [==============================] - 0s 52us/step - loss: 0.7701 - acc: 0.6744
Epoch 295/500
900/900 [==============================] - 0s 35us/step - loss: 0.7371 - acc: 0.6878
Epoch 296/500
900/900 [==============================] - 0s 40us/step - loss: 0.7356 - acc: 0.6900
Epoch 297/500
900/900 [==============================] - 0s 39us/step - loss: 0.7932 - acc: 0.6611
Epoch 298/500
900/900 [==============================] - 0s 55us/step - loss: 0.7763 - acc: 0.6800
Epoch 299/500
900/900 [==============================] - 0s 38us/step - loss: 0.7513 - acc: 0.6722
Epoch 300/500
900/900 [==============================] - 0s 44us/step - loss: 0.7865 - acc: 0.6722
Epoch 301/500
900/900 [==============================] - 0s 42us/step - loss: 0.8056 - acc: 0.6511
Epoch 302/500
900/900 [==============================] - 0s 35us/step - loss: 0.7650 - acc: 0.6678
Epoch 303/500
900/900 [==============================] - 0s 35us/step - loss: 0.7399 - acc: 0.6822
Epoch 304/500
900/900 [==============================] - 0s 38us/step - loss: 0.7671 - acc: 0.6722
Epoch 305/500
900/900 [==============================] - 0s 35us/step - loss: 0.7941 - acc: 0.6711
Epoch 306/500
900/900 [==============================] - 0s 52us/step - loss: 0.7809 - acc: 0.6767
Epoch 307/500
900/900 [==============================] - 0s 35us/step - loss: 0.7457 - acc: 0.6844
Epoch 308/500
900/900 [==============================] - 0s 52us/step - loss: 0.7378 - acc: 0.6867
Epoch 309/500
900/900 [==============================] - 0s 35us/step - loss: 0.7526 - acc: 0.6911
Epoch 310/500
900/900 [==============================] - 0s 52us/step - loss: 0.7332 - acc: 0.6822
Epoch 311/500
900/900 [==============================] - 0s 44us/step - loss: 0.7360 - acc: 0.6956
Epoch 312/500
900/900 [==============================] - 0s 40us/step - loss: 0.7497 - acc: 0.6900
Epoch 313/500
900/900 [==============================] - 0s 35us/step - loss: 0.7564 - acc: 0.6900
Epoch 314/500
900/900 [==============================] - 0s 52us/step - loss: 0.7575 - acc: 0.6844
Epoch 315/500
900/900 [==============================] - 0s 35us/step - loss: 0.7609 - acc: 0.6811
Epoch 316/500
900/900 [==============================] - 0s 52us/step - loss: 0.7864 - acc: 0.6656
Epoch 317/500
900/900 [==============================] - 0s 35us/step - loss: 0.7394 - acc: 0.6889
Epoch 318/500
900/900 [==============================] - 0s 52us/step - loss: 0.7551 - acc: 0.6867
Epoch 319/500
900/900 [==============================] - 0s 35us/step - loss: 0.7940 - acc: 0.6600
Epoch 320/500
900/900 [==============================] - 0s 52us/step - loss: 0.7633 - acc: 0.6733
Epoch 321/500
900/900 [==============================] - 0s 44us/step - loss: 0.7706 - acc: 0.6733
Epoch 322/500
900/900 [==============================] - 0s 28us/step - loss: 0.7542 - acc: 0.6756
Epoch 323/500
900/900 [==============================] - 0s 52us/step - loss: 0.7309 - acc: 0.6911
Epoch 324/500
900/900 [==============================] - 0s 50us/step - loss: 0.7358 - acc: 0.6900
Epoch 325/500
900/900 [==============================] - 0s 35us/step - loss: 0.7403 - acc: 0.6978
Epoch 326/500
900/900 [==============================] - 0s 35us/step - loss: 0.7360 - acc: 0.6844
Epoch 327/500
900/900 [==============================] - 0s 33us/step - loss: 0.7360 - acc: 0.6756
Epoch 328/500
900/900 [==============================] - 0s 52us/step - loss: 0.7458 - acc: 0.6789
Epoch 329/500
900/900 [==============================] - 0s 37us/step - loss: 0.7629 - acc: 0.6733
Epoch 330/500
900/900 [==============================] - 0s 52us/step - loss: 0.7380 - acc: 0.6878
Epoch 331/500
900/900 [==============================] - 0s 35us/step - loss: 0.7497 - acc: 0.6889
Epoch 332/500
900/900 [==============================] - 0s 52us/step - loss: 0.7648 - acc: 0.6722
Epoch 333/500
900/900 [==============================] - 0s 35us/step - loss: 0.7774 - acc: 0.6667
Epoch 334/500
900/900 [==============================] - 0s 52us/step - loss: 0.7566 - acc: 0.6733
Epoch 335/500
900/900 [==============================] - 0s 35us/step - loss: 0.7665 - acc: 0.6733
Epoch 336/500
900/900 [==============================] - 0s 52us/step - loss: 0.7771 - acc: 0.6622
Epoch 337/500
900/900 [==============================] - 0s 49us/step - loss: 0.7421 - acc: 0.6800
Epoch 338/500
900/900 [==============================] - 0s 36us/step - loss: 0.7445 - acc: 0.6767
Epoch 339/500
900/900 [==============================] - 0s 35us/step - loss: 0.8578 - acc: 0.6144
Epoch 340/500
900/900 [==============================] - 0s 69us/step - loss: 0.7978 - acc: 0.6600
Epoch 341/500
900/900 [==============================] - 0s 57us/step - loss: 0.7583 - acc: 0.6778
Epoch 342/500
900/900 [==============================] - 0s 49us/step - loss: 0.7518 - acc: 0.6922
Epoch 343/500
900/900 [==============================] - 0s 52us/step - loss: 0.7527 - acc: 0.6889
Epoch 344/500
900/900 [==============================] - 0s 69us/step - loss: 0.7868 - acc: 0.6667
Epoch 345/500
900/900 [==============================] - 0s 35us/step - loss: 0.7607 - acc: 0.6856
Epoch 346/500
900/900 [==============================] - 0s 52us/step - loss: 0.7328 - acc: 0.7000
Epoch 347/500
900/900 [==============================] - 0s 35us/step - loss: 0.7380 - acc: 0.6989
Epoch 348/500
900/900 [==============================] - 0s 52us/step - loss: 0.7326 - acc: 0.6933
Epoch 349/500
900/900 [==============================] - 0s 32us/step - loss: 0.7417 - acc: 0.6733
Epoch 350/500
900/900 [==============================] - 0s 35us/step - loss: 0.7385 - acc: 0.6856
Epoch 351/500
900/900 [==============================] - 0s 48us/step - loss: 0.7426 - acc: 0.6722
Epoch 352/500
900/900 [==============================] - 0s 35us/step - loss: 0.7388 - acc: 0.6878
Epoch 353/500
900/900 [==============================] - 0s 55us/step - loss: 0.7343 - acc: 0.6811
Epoch 354/500
900/900 [==============================] - 0s 35us/step - loss: 0.7532 - acc: 0.6711
Epoch 355/500
900/900 [==============================] - 0s 52us/step - loss: 0.7689 - acc: 0.6744
Epoch 356/500
900/900 [==============================] - 0s 35us/step - loss: 0.7494 - acc: 0.6789
Epoch 357/500
900/900 [==============================] - 0s 52us/step - loss: 0.7317 - acc: 0.6867
Epoch 358/500
900/900 [==============================] - 0s 35us/step - loss: 0.7401 - acc: 0.6867
Epoch 359/500
900/900 [==============================] - 0s 52us/step - loss: 0.7430 - acc: 0.6844
Epoch 360/500
900/900 [==============================] - 0s 35us/step - loss: 0.7296 - acc: 0.7044
Epoch 361/500
900/900 [==============================] - 0s 35us/step - loss: 0.7532 - acc: 0.6789
Epoch 362/500
900/900 [==============================] - 0s 53us/step - loss: 0.7650 - acc: 0.6800
Epoch 363/500
900/900 [==============================] - 0s 49us/step - loss: 0.7463 - acc: 0.6933
Epoch 364/500
900/900 [==============================] - 0s 25us/step - loss: 0.8085 - acc: 0.6589
Epoch 365/500
900/900 [==============================] - 0s 52us/step - loss: 0.7516 - acc: 0.6778
Epoch 366/500
900/900 [==============================] - 0s 35us/step - loss: 0.7382 - acc: 0.6911
Epoch 367/500
900/900 [==============================] - 0s 52us/step - loss: 0.7730 - acc: 0.6522
Epoch 368/500
900/900 [==============================] - 0s 35us/step - loss: 0.7508 - acc: 0.6911
Epoch 369/500
900/900 [==============================] - 0s 52us/step - loss: 0.7537 - acc: 0.6867
Epoch 370/500
900/900 [==============================] - 0s 35us/step - loss: 0.7510 - acc: 0.6889
Epoch 371/500
900/900 [==============================] - 0s 52us/step - loss: 0.7535 - acc: 0.6856
Epoch 372/500
900/900 [==============================] - 0s 42us/step - loss: 0.7559 - acc: 0.6867
Epoch 373/500
900/900 [==============================] - 0s 35us/step - loss: 0.7538 - acc: 0.6700
Epoch 374/500
900/900 [==============================] - 0s 54us/step - loss: 0.7586 - acc: 0.6756
Epoch 375/500
900/900 [==============================] - 0s 38us/step - loss: 0.7268 - acc: 0.7022
Epoch 376/500
900/900 [==============================] - 0s 48us/step - loss: 0.7264 - acc: 0.7022
Epoch 377/500
900/900 [==============================] - 0s 32us/step - loss: 0.7497 - acc: 0.6722
Epoch 378/500
900/900 [==============================] - 0s 35us/step - loss: 0.7238 - acc: 0.6922
Epoch 379/500
900/900 [==============================] - 0s 37us/step - loss: 0.7729 - acc: 0.6844
Epoch 380/500
900/900 [==============================] - 0s 35us/step - loss: 0.7475 - acc: 0.6778
Epoch 381/500
900/900 [==============================] - 0s 52us/step - loss: 0.7204 - acc: 0.6967
Epoch 382/500
900/900 [==============================] - 0s 35us/step - loss: 0.7557 - acc: 0.6867
Epoch 383/500
900/900 [==============================] - 0s 52us/step - loss: 0.7413 - acc: 0.6956
Epoch 384/500
900/900 [==============================] - 0s 50us/step - loss: 0.7356 - acc: 0.6833
Epoch 385/500
900/900 [==============================] - 0s 35us/step - loss: 0.7383 - acc: 0.6889
Epoch 386/500
900/900 [==============================] - 0s 35us/step - loss: 0.7227 - acc: 0.7044
Epoch 387/500
900/900 [==============================] - 0s 52us/step - loss: 0.7768 - acc: 0.6589
Epoch 388/500
900/900 [==============================] - 0s 48us/step - loss: 0.7643 - acc: 0.6811
Epoch 389/500
900/900 [==============================] - 0s 43us/step - loss: 0.7961 - acc: 0.6689
Epoch 390/500
900/900 [==============================] - 0s 35us/step - loss: 0.7381 - acc: 0.6833
Epoch 391/500
900/900 [==============================] - 0s 35us/step - loss: 0.7680 - acc: 0.6656
Epoch 392/500
900/900 [==============================] - 0s 55us/step - loss: 0.7455 - acc: 0.6911
Epoch 393/500
900/900 [==============================] - 0s 35us/step - loss: 0.7796 - acc: 0.6567
Epoch 394/500
900/900 [==============================] - 0s 35us/step - loss: 0.8133 - acc: 0.6500
Epoch 395/500
900/900 [==============================] - 0s 35us/step - loss: 0.7739 - acc: 0.6700
Epoch 396/500
900/900 [==============================] - ETA: 0s - loss: 0.6639 - acc: 0.690 - 0s 35us/step - loss: 0.8018 - acc: 0.6656
Epoch 397/500
900/900 [==============================] - 0s 35us/step - loss: 0.7491 - acc: 0.6800
Epoch 398/500
900/900 [==============================] - 0s 35us/step - loss: 0.7316 - acc: 0.6878
Epoch 399/500
900/900 [==============================] - 0s 35us/step - loss: 0.7544 - acc: 0.6711
Epoch 400/500
900/900 [==============================] - 0s 48us/step - loss: 0.7437 - acc: 0.6800
Epoch 401/500
900/900 [==============================] - 0s 42us/step - loss: 0.7300 - acc: 0.7022
Epoch 402/500
900/900 [==============================] - 0s 28us/step - loss: 0.7636 - acc: 0.6933
Epoch 403/500
900/900 [==============================] - 0s 56us/step - loss: 0.7682 - acc: 0.6711
Epoch 404/500
900/900 [==============================] - 0s 32us/step - loss: 0.7941 - acc: 0.6556
Epoch 405/500
900/900 [==============================] - 0s 52us/step - loss: 0.8185 - acc: 0.6656
Epoch 406/500
900/900 [==============================] - 0s 35us/step - loss: 0.7600 - acc: 0.6844
Epoch 407/500
900/900 [==============================] - 0s 52us/step - loss: 0.7479 - acc: 0.6811
Epoch 408/500
900/900 [==============================] - 0s 35us/step - loss: 0.7392 - acc: 0.6856
Epoch 409/500
900/900 [==============================] - 0s 35us/step - loss: 0.7609 - acc: 0.6800
Epoch 410/500
900/900 [==============================] - 0s 35us/step - loss: 0.7454 - acc: 0.6800
Epoch 411/500
900/900 [==============================] - 0s 35us/step - loss: 0.7828 - acc: 0.6667
Epoch 412/500
900/900 [==============================] - 0s 52us/step - loss: 0.7461 - acc: 0.6789
Epoch 413/500
900/900 [==============================] - 0s 35us/step - loss: 0.7817 - acc: 0.6822
Epoch 414/500
900/900 [==============================] - 0s 54us/step - loss: 0.8081 - acc: 0.6567
Epoch 415/500
900/900 [==============================] - 0s 29us/step - loss: 0.7669 - acc: 0.6733
Epoch 416/500
900/900 [==============================] - 0s 52us/step - loss: 0.7688 - acc: 0.6756
Epoch 417/500
900/900 [==============================] - 0s 35us/step - loss: 0.8022 - acc: 0.6522
Epoch 418/500
900/900 [==============================] - 0s 35us/step - loss: 0.7963 - acc: 0.6489
Epoch 419/500
900/900 [==============================] - 0s 35us/step - loss: 0.7407 - acc: 0.6867
Epoch 420/500
900/900 [==============================] - 0s 35us/step - loss: 0.7644 - acc: 0.6789
Epoch 421/500
900/900 [==============================] - 0s 52us/step - loss: 0.7484 - acc: 0.6811
Epoch 422/500
900/900 [==============================] - 0s 35us/step - loss: 0.7400 - acc: 0.6889
Epoch 423/500
900/900 [==============================] - 0s 52us/step - loss: 0.7447 - acc: 0.6789
Epoch 424/500
900/900 [==============================] - 0s 40us/step - loss: 0.7258 - acc: 0.6922
Epoch 425/500
900/900 [==============================] - 0s 35us/step - loss: 0.7397 - acc: 0.6789
Epoch 426/500
900/900 [==============================] - 0s 41us/step - loss: 0.7932 - acc: 0.6489
Epoch 427/500
900/900 [==============================] - 0s 44us/step - loss: 0.7569 - acc: 0.6811
Epoch 428/500
900/900 [==============================] - 0s 42us/step - loss: 0.7311 - acc: 0.6833
Epoch 429/500
900/900 [==============================] - 0s 32us/step - loss: 0.7215 - acc: 0.6933
Epoch 430/500
900/900 [==============================] - 0s 52us/step - loss: 0.7257 - acc: 0.6956
Epoch 431/500
900/900 [==============================] - 0s 37us/step - loss: 0.7285 - acc: 0.6822
Epoch 432/500
900/900 [==============================] - 0s 35us/step - loss: 0.7469 - acc: 0.6933
Epoch 433/500
900/900 [==============================] - 0s 35us/step - loss: 0.7359 - acc: 0.6922
Epoch 434/500
900/900 [==============================] - 0s 35us/step - loss: 0.7378 - acc: 0.6878
Epoch 435/500
900/900 [==============================] - 0s 52us/step - loss: 0.7383 - acc: 0.6911
Epoch 436/500
900/900 [==============================] - 0s 35us/step - loss: 0.7539 - acc: 0.6722
Epoch 437/500
900/900 [==============================] - 0s 52us/step - loss: 0.7374 - acc: 0.7044
Epoch 438/500
900/900 [==============================] - 0s 35us/step - loss: 0.7338 - acc: 0.6867
Epoch 439/500
900/900 [==============================] - 0s 52us/step - loss: 0.7507 - acc: 0.6922
Epoch 440/500
900/900 [==============================] - 0s 46us/step - loss: 0.7328 - acc: 0.6767
Epoch 441/500
900/900 [==============================] - 0s 43us/step - loss: 0.7341 - acc: 0.6922
Epoch 442/500
900/900 [==============================] - 0s 35us/step - loss: 0.7433 - acc: 0.6933
Epoch 443/500
900/900 [==============================] - 0s 35us/step - loss: 0.7296 - acc: 0.6933
Epoch 444/500
900/900 [==============================] - 0s 52us/step - loss: 0.7345 - acc: 0.6922
Epoch 445/500
900/900 [==============================] - 0s 41us/step - loss: 0.7660 - acc: 0.6644
Epoch 446/500
900/900 [==============================] - 0s 35us/step - loss: 0.7417 - acc: 0.6700
Epoch 447/500
900/900 [==============================] - 0s 52us/step - loss: 0.7301 - acc: 0.6967
Epoch 448/500
900/900 [==============================] - 0s 35us/step - loss: 0.7162 - acc: 0.7056
Epoch 449/500
900/900 [==============================] - 0s 52us/step - loss: 0.7440 - acc: 0.6789
Epoch 450/500
900/900 [==============================] - 0s 35us/step - loss: 0.7564 - acc: 0.6733
Epoch 451/500
900/900 [==============================] - 0s 52us/step - loss: 0.7408 - acc: 0.6944
Epoch 452/500
900/900 [==============================] - 0s 43us/step - loss: 0.7381 - acc: 0.6933
Epoch 453/500
900/900 [==============================] - 0s 41us/step - loss: 0.7400 - acc: 0.6944
Epoch 454/500
900/900 [==============================] - 0s 42us/step - loss: 0.7199 - acc: 0.7044
Epoch 455/500
900/900 [==============================] - 0s 31us/step - loss: 0.7550 - acc: 0.6867
Epoch 456/500
900/900 [==============================] - 0s 52us/step - loss: 0.7406 - acc: 0.6978
Epoch 457/500
900/900 [==============================] - 0s 38us/step - loss: 0.7765 - acc: 0.6644
Epoch 458/500
900/900 [==============================] - 0s 35us/step - loss: 0.7487 - acc: 0.6967
Epoch 459/500
900/900 [==============================] - 0s 52us/step - loss: 0.7673 - acc: 0.6767
Epoch 460/500
900/900 [==============================] - 0s 35us/step - loss: 0.7287 - acc: 0.6889
Epoch 461/500
900/900 [==============================] - 0s 52us/step - loss: 0.7464 - acc: 0.6733
Epoch 462/500
900/900 [==============================] - 0s 35us/step - loss: 0.7475 - acc: 0.6822
Epoch 463/500
900/900 [==============================] - 0s 52us/step - loss: 0.7694 - acc: 0.6833
Epoch 464/500
900/900 [==============================] - 0s 35us/step - loss: 0.7420 - acc: 0.6800
Epoch 465/500
900/900 [==============================] - 0s 35us/step - loss: 0.7382 - acc: 0.6978
Epoch 466/500
900/900 [==============================] - 0s 52us/step - loss: 0.7519 - acc: 0.6789
Epoch 467/500
900/900 [==============================] - 0s 37us/step - loss: 0.7432 - acc: 0.6789
Epoch 468/500
900/900 [==============================] - 0s 52us/step - loss: 0.7224 - acc: 0.6978
Epoch 469/500
900/900 [==============================] - 0s 35us/step - loss: 0.7908 - acc: 0.6656
Epoch 470/500
900/900 [==============================] - 0s 35us/step - loss: 0.8442 - acc: 0.6589
Epoch 471/500
900/900 [==============================] - 0s 52us/step - loss: 0.8003 - acc: 0.6700
Epoch 472/500
900/900 [==============================] - 0s 35us/step - loss: 0.7759 - acc: 0.6722
Epoch 473/500
900/900 [==============================] - 0s 52us/step - loss: 0.7832 - acc: 0.6778
Epoch 474/500
900/900 [==============================] - 0s 41us/step - loss: 0.7365 - acc: 0.7000
Epoch 475/500
900/900 [==============================] - 0s 35us/step - loss: 0.7193 - acc: 0.6922
Epoch 476/500
900/900 [==============================] - 0s 55us/step - loss: 0.7213 - acc: 0.6956
Epoch 477/500
900/900 [==============================] - 0s 42us/step - loss: 0.7390 - acc: 0.6844
Epoch 478/500
900/900 [==============================] - 0s 41us/step - loss: 0.7286 - acc: 0.6844
Epoch 479/500
900/900 [==============================] - 0s 33us/step - loss: 0.7414 - acc: 0.6789
Epoch 480/500
900/900 [==============================] - 0s 50us/step - loss: 0.7502 - acc: 0.6889
Epoch 481/500
900/900 [==============================] - 0s 41us/step - loss: 0.7324 - acc: 0.6956
Epoch 482/500
900/900 [==============================] - 0s 35us/step - loss: 0.7210 - acc: 0.6933
Epoch 483/500
900/900 [==============================] - 0s 55us/step - loss: 0.7195 - acc: 0.6922
Epoch 484/500
900/900 [==============================] - 0s 49us/step - loss: 0.7393 - acc: 0.6867
Epoch 485/500
900/900 [==============================] - 0s 46us/step - loss: 0.7692 - acc: 0.6600
Epoch 486/500
900/900 [==============================] - 0s 44us/step - loss: 0.7434 - acc: 0.6833
Epoch 487/500
900/900 [==============================] - 0s 35us/step - loss: 0.7282 - acc: 0.6989
Epoch 488/500
900/900 [==============================] - 0s 35us/step - loss: 0.7245 - acc: 0.6911
Epoch 489/500
900/900 [==============================] - 0s 59us/step - loss: 0.7487 - acc: 0.6789
Epoch 490/500
900/900 [==============================] - 0s 40us/step - loss: 0.7582 - acc: 0.6844
Epoch 491/500
900/900 [==============================] - 0s 35us/step - loss: 0.7280 - acc: 0.6878
Epoch 492/500
900/900 [==============================] - 0s 52us/step - loss: 0.7496 - acc: 0.6744
Epoch 493/500
900/900 [==============================] - 0s 41us/step - loss: 0.7403 - acc: 0.6900
Epoch 494/500
900/900 [==============================] - 0s 52us/step - loss: 0.7338 - acc: 0.6856
Epoch 495/500
900/900 [==============================] - 0s 35us/step - loss: 0.7419 - acc: 0.6922
Epoch 496/500
900/900 [==============================] - 0s 52us/step - loss: 0.7287 - acc: 0.6933
Epoch 497/500
900/900 [==============================] - 0s 35us/step - loss: 0.7338 - acc: 0.6956
Epoch 498/500
900/900 [==============================] - 0s 52us/step - loss: 0.7379 - acc: 0.6922
Epoch 499/500
900/900 [==============================] - 0s 35us/step - loss: 0.7301 - acc: 0.6956
Epoch 500/500
900/900 [==============================] - 0s 52us/step - loss: 0.7246 - acc: 0.6911
Wall time: 27.8 s
Out[18]:
<tensorflow.python.keras._impl.keras.callbacks.History at 0x1d5206e9748>

In [19]:
train_loss, train_accuracy = model.evaluate(X_train, y_train_categorical, batch_size=100)
train_accuracy


900/900 [==============================] - 0s 76us/step
Out[19]:
0.6822222140100267

In [20]:
test_loss, test_accuracy = model.evaluate(X_test, y_test_categorical, batch_size=100)
test_accuracy


600/600 [==============================] - 0s 23us/step
Out[20]:
0.6833333273728689

In [21]:
model.save('insurance.hdf5')

Look at all the different shapes for different kilometers per year

  • now we have three dimensions, so we need to set one to a certain number

In [22]:
kms_per_year = 20
plotPrediction(model, X_test[:, 1], X_test[:, 0],
               'Age', 'Max Speed', y_test,
                fixed = kms_per_year,
                title="Test Data Max Speed vs Age with Prediction, 20 km/year")



In [23]:
kms_per_year = 50
plotPrediction(model, X_test[:, 1], X_test[:, 0],
               'Age', 'Max Speed', y_test,
                fixed = kms_per_year,
                title="Test Data Max Speed vs Age with Prediction, 50 km/year")



In [24]:
kms_per_year = 5
plotPrediction(model, X_test[:, 1], X_test[:, 0],
               'Age', 'Max Speed', y_test,
                fixed = kms_per_year,
                title="Test Data Max Speed vs Age with Prediction, 5 km/year")



In [ ]: