In [46]:
import pandas as pd
import numpy as np
from keras.utils.np_utils import to_categorical
from keras.models import Sequential
from keras.layers import Dense, Input
from keras.models import Model
from keras.wrappers.scikit_learn import KerasRegressor, KerasClassifier
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import KFold
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
from utils import get_engine
from sklearn import linear_model
import matplotlib.pyplot as plt
In [88]:
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
from sklearn.metrics import roc_curve,auc
In [116]:
# load dataset
table = "data_fraud_little"
engine = get_engine()
dataframe = pd.read_sql_query("select * from {table} limit 50000".format(table=table),engine)
dataset = dataframe.values
print("First one row of the dataset")
print("Shape [{}]".format(dataset.shape))
print(dataset[0:2,:])
# split into input (X) and output (Y) variables
data_dimensions = 45
#first dimension is the index, must be removed!!!!
X = dataset[:, 1:data_dimensions]
Y = dataset[:, data_dimensions]
print("Fraud {}% ".format(float(np.sum(Y==1))*100.0/Y.shape[0]))
print("Total #samples:",Y.shape[0])
Y = to_categorical(Y, nb_classes=None)
input_dimensions = X.shape[1]
print("shapes: X[{}]=====Y[{}]".format(X.shape, Y.shape))
First one row of the dataset
Shape [(50000, 47)]
[[ 4.75200320e+07 7.49524000e+05 1.38868315e+18 6.89620000e+04
5.83500000e+01 1.77484800e+06 5.77500000e+04 1.87362000e+05
3.67000000e+02 1.62381800e+06 1.68885100e+06 5.20000000e+02
5.00000000e+00 0.00000000e+00 0.00000000e+00 8.00000000e+00
1.00000000e+00 0.00000000e+00 4.00000000e+00 0.00000000e+00
1.00000000e+00 1.00000000e+02 0.00000000e+00 0.00000000e+00
0.00000000e+00 5.60000000e+01 1.00000000e+00 1.00000000e+00
0.00000000e+00 1.00000000e+00 3.00000000e+00 0.00000000e+00
1.90000000e+01 1.84000000e+03 8.26000000e+02 6.10000000e+07
5.83500000e+01 5.13265000e+03 7.50000000e+03 7.50000000e+03
2.18985000e+03 -9.22337204e+18 1.38602880e+18 1.47048000e+03
1.37419200e+18 0.00000000e+00 -9.22337204e+18]
[ 3.88424760e+07 6.72120000e+05 1.39431354e+18 1.00165000e+05
1.49900000e+01 4.20536000e+05 1.32586000e+05 0.00000000e+00
3.67000000e+02 6.71779000e+05 1.49575000e+06 6.12000000e+02
1.00000000e+00 8.00000000e+00 0.00000000e+00 9.00000000e+00
2.00000000e+00 4.80000000e+01 1.00000000e+00 4.00000000e+00
2.00000000e+00 1.00000000e+02 0.00000000e+00 5.00000000e+00
1.42000000e+02 9.80000000e+01 1.00000000e+00 1.00000000e+00
0.00000000e+00 3.00000000e+00 3.00000000e+00 0.00000000e+00
1.90000000e+01 8.28300000e+03 8.26000000e+02 6.10000000e+07
0.00000000e+00 -3.40400000e+01 1.00000000e+02 1.00000000e+02
1.34040000e+02 1.34904960e+18 1.39173120e+18 5.72400000e+01
1.38101760e+18 0.00000000e+00 -9.22337204e+18]]
Fraud 16.932%
('Total #samples:', 50000)
shapes: X[(50000, 44)]=====Y[(50000, 2)]
In [111]:
# define base mode
def baseline_model():
return logistic_regresion()
# return linear_regression()
def keras_lin_reg():
x = Input((None,input_dimensions))
y = Dense(1,activation='linear')(x)
model = Model(x,y,"Linear Regression")
model.compile(loss='mse', optimizer='sgd')
return model
def logistic_regresion():
logistic = linear_model.LogisticRegression(solver='sag', n_jobs=-1,max_iter=500)
return logistic
def linear_regression():
lr = linear_model.LinearRegression(n_jobs=-1)
return lr
def mlp_model(hidden=45,layers=1):
# create model
model = Sequential()
model.add(Dense(input_dimensions, input_dim=input_dimensions, init='normal', activation='relu'))
if hidden is not None:
for l in range(layers):
model.add(Dense(hidden))
model.add(Dense(2, init='normal', activation='softmax'))
# Compile model
model.compile(loss='binary_crossentropy', optimizer='adam')
return model
def mlp_model_wrap(hidden=100,layers=1):
return mlp_model(hidden,layers)
# fix random seed for reproducibility
In [56]:
seed = 7
np.random.seed(seed)
# evaluate model with standardized dataset
estimators = []
estimators.append(('standardize', StandardScaler()))
# estimators.append(('mlp', KerasClassifier(build_fn=mlp_model, nb_epoch=100, batch_size=10000, verbose=1)))
estimators.append(('mlp', KerasClassifier(build_fn=mlp_model_wrap, nb_epoch=100, batch_size=10000, verbose=0)))
# estimators.append(('liner reg', KerasClassifier(build_fn=keras_lin_reg, nb_epoch=100, batch_size=100000, verbose=1)))
# estimators.append(('linear_reg', baseline_model()))
pipeline = Pipeline(estimators)
kfold = KFold(n_splits=10, random_state=seed)
results = cross_val_score(pipeline, X, Y, cv=kfold, scoring='roc_auc',n_jobs=1)
print("Results:", results)
print("Results: %.24f (%.24f) ROC" % (results.mean(), results.std()))
print(pipeline)
Epoch 1/100
450/450 [==============================] - 0s - loss: 0.7122
Epoch 2/100
450/450 [==============================] - 0s - loss: 0.6921
Epoch 3/100
450/450 [==============================] - 0s - loss: 0.6730
Epoch 4/100
450/450 [==============================] - 0s - loss: 0.6546
Epoch 5/100
450/450 [==============================] - 0s - loss: 0.6367
Epoch 6/100
450/450 [==============================] - 0s - loss: 0.6191
Epoch 7/100
450/450 [==============================] - 0s - loss: 0.6016
Epoch 8/100
450/450 [==============================] - 0s - loss: 0.5842
Epoch 9/100
450/450 [==============================] - 0s - loss: 0.5667
Epoch 10/100
450/450 [==============================] - 0s - loss: 0.5491
Epoch 11/100
450/450 [==============================] - 0s - loss: 0.5314
Epoch 12/100
450/450 [==============================] - 0s - loss: 0.5136
Epoch 13/100
450/450 [==============================] - 0s - loss: 0.4957
Epoch 14/100
450/450 [==============================] - 0s - loss: 0.4778
Epoch 15/100
450/450 [==============================] - 0s - loss: 0.4598
Epoch 16/100
450/450 [==============================] - 0s - loss: 0.4420
Epoch 17/100
450/450 [==============================] - 0s - loss: 0.4243
Epoch 18/100
450/450 [==============================] - 0s - loss: 0.4070
Epoch 19/100
450/450 [==============================] - 0s - loss: 0.3902
Epoch 20/100
450/450 [==============================] - 0s - loss: 0.3740
Epoch 21/100
450/450 [==============================] - 0s - loss: 0.3586
Epoch 22/100
450/450 [==============================] - 0s - loss: 0.3439
Epoch 23/100
450/450 [==============================] - 0s - loss: 0.3300
Epoch 24/100
450/450 [==============================] - 0s - loss: 0.3171
Epoch 25/100
450/450 [==============================] - 0s - loss: 0.3050
Epoch 26/100
450/450 [==============================] - 0s - loss: 0.2939
Epoch 27/100
450/450 [==============================] - 0s - loss: 0.2836
Epoch 28/100
450/450 [==============================] - 0s - loss: 0.2741
Epoch 29/100
450/450 [==============================] - 0s - loss: 0.2653
Epoch 30/100
450/450 [==============================] - 0s - loss: 0.2572
Epoch 31/100
450/450 [==============================] - 0s - loss: 0.2497
Epoch 32/100
450/450 [==============================] - 0s - loss: 0.2427
Epoch 33/100
450/450 [==============================] - 0s - loss: 0.2362
Epoch 34/100
450/450 [==============================] - 0s - loss: 0.2302
Epoch 35/100
450/450 [==============================] - 0s - loss: 0.2245
Epoch 36/100
450/450 [==============================] - 0s - loss: 0.2192
Epoch 37/100
450/450 [==============================] - 0s - loss: 0.2141
Epoch 38/100
450/450 [==============================] - 0s - loss: 0.2092
Epoch 39/100
450/450 [==============================] - 0s - loss: 0.2046
Epoch 40/100
450/450 [==============================] - 0s - loss: 0.2001
Epoch 41/100
450/450 [==============================] - 0s - loss: 0.1959
Epoch 42/100
450/450 [==============================] - 0s - loss: 0.1917
Epoch 43/100
450/450 [==============================] - 0s - loss: 0.1878
Epoch 44/100
450/450 [==============================] - 0s - loss: 0.1840
Epoch 45/100
450/450 [==============================] - 0s - loss: 0.1804
Epoch 46/100
450/450 [==============================] - 0s - loss: 0.1769
Epoch 47/100
450/450 [==============================] - 0s - loss: 0.1737
Epoch 48/100
450/450 [==============================] - 0s - loss: 0.1706
Epoch 49/100
450/450 [==============================] - 0s - loss: 0.1677
Epoch 50/100
450/450 [==============================] - 0s - loss: 0.1648
Epoch 51/100
450/450 [==============================] - 0s - loss: 0.1620
Epoch 52/100
450/450 [==============================] - 0s - loss: 0.1592
Epoch 53/100
450/450 [==============================] - 0s - loss: 0.1565
Epoch 54/100
450/450 [==============================] - 0s - loss: 0.1538
Epoch 55/100
450/450 [==============================] - 0s - loss: 0.1511
Epoch 56/100
450/450 [==============================] - 0s - loss: 0.1485
Epoch 57/100
450/450 [==============================] - 0s - loss: 0.1458
Epoch 58/100
450/450 [==============================] - 0s - loss: 0.1432
Epoch 59/100
450/450 [==============================] - 0s - loss: 0.1407
Epoch 60/100
450/450 [==============================] - 0s - loss: 0.1381
Epoch 61/100
450/450 [==============================] - 0s - loss: 0.1356
Epoch 62/100
450/450 [==============================] - 0s - loss: 0.1331
Epoch 63/100
450/450 [==============================] - 0s - loss: 0.1306
Epoch 64/100
450/450 [==============================] - 0s - loss: 0.1281
Epoch 65/100
450/450 [==============================] - 0s - loss: 0.1257
Epoch 66/100
450/450 [==============================] - 0s - loss: 0.1234
Epoch 67/100
450/450 [==============================] - 0s - loss: 0.1210
Epoch 68/100
450/450 [==============================] - 0s - loss: 0.1188
Epoch 69/100
450/450 [==============================] - 0s - loss: 0.1166
Epoch 70/100
450/450 [==============================] - 0s - loss: 0.1144
Epoch 71/100
450/450 [==============================] - 0s - loss: 0.1122
Epoch 72/100
450/450 [==============================] - 0s - loss: 0.1100
Epoch 73/100
450/450 [==============================] - 0s - loss: 0.1079
Epoch 74/100
450/450 [==============================] - 0s - loss: 0.1058
Epoch 75/100
450/450 [==============================] - 0s - loss: 0.1037
Epoch 76/100
450/450 [==============================] - 0s - loss: 0.1016
Epoch 77/100
450/450 [==============================] - 0s - loss: 0.0996
Epoch 78/100
450/450 [==============================] - 0s - loss: 0.0975
Epoch 79/100
450/450 [==============================] - 0s - loss: 0.0955
Epoch 80/100
450/450 [==============================] - 0s - loss: 0.0935
Epoch 81/100
450/450 [==============================] - 0s - loss: 0.0915
Epoch 82/100
450/450 [==============================] - 0s - loss: 0.0896
Epoch 83/100
450/450 [==============================] - 0s - loss: 0.0876
Epoch 84/100
450/450 [==============================] - 0s - loss: 0.0857
Epoch 85/100
450/450 [==============================] - 0s - loss: 0.0838
Epoch 86/100
450/450 [==============================] - 0s - loss: 0.0819
Epoch 87/100
450/450 [==============================] - 0s - loss: 0.0800
Epoch 88/100
450/450 [==============================] - 0s - loss: 0.0781
Epoch 89/100
450/450 [==============================] - 0s - loss: 0.0763
Epoch 90/100
450/450 [==============================] - 0s - loss: 0.0745
Epoch 91/100
450/450 [==============================] - 0s - loss: 0.0728
Epoch 92/100
450/450 [==============================] - 0s - loss: 0.0710
Epoch 93/100
450/450 [==============================] - 0s - loss: 0.0693
Epoch 94/100
450/450 [==============================] - 0s - loss: 0.0676
Epoch 95/100
450/450 [==============================] - 0s - loss: 0.0659
Epoch 96/100
450/450 [==============================] - 0s - loss: 0.0643
Epoch 97/100
450/450 [==============================] - 0s - loss: 0.0627
Epoch 98/100
450/450 [==============================] - 0s - loss: 0.0611
Epoch 99/100
450/450 [==============================] - 0s - loss: 0.0596
Epoch 100/100
450/450 [==============================] - 0s - loss: 0.0580
50/50 [==============================] - 0s
Epoch 1/100
450/450 [==============================] - 0s - loss: 0.6864
Epoch 2/100
450/450 [==============================] - 0s - loss: 0.6638
Epoch 3/100
450/450 [==============================] - 0s - loss: 0.6420
Epoch 4/100
450/450 [==============================] - 0s - loss: 0.6208
Epoch 5/100
450/450 [==============================] - 0s - loss: 0.6000
Epoch 6/100
450/450 [==============================] - 0s - loss: 0.5794
Epoch 7/100
450/450 [==============================] - 0s - loss: 0.5590
Epoch 8/100
450/450 [==============================] - 0s - loss: 0.5388
Epoch 9/100
450/450 [==============================] - 0s - loss: 0.5187
Epoch 10/100
450/450 [==============================] - 0s - loss: 0.4988
Epoch 11/100
450/450 [==============================] - 0s - loss: 0.4792
Epoch 12/100
450/450 [==============================] - 0s - loss: 0.4599
Epoch 13/100
450/450 [==============================] - 0s - loss: 0.4410
Epoch 14/100
450/450 [==============================] - 0s - loss: 0.4228
Epoch 15/100
450/450 [==============================] - 0s - loss: 0.4051
Epoch 16/100
450/450 [==============================] - 0s - loss: 0.3883
Epoch 17/100
450/450 [==============================] - 0s - loss: 0.3723
Epoch 18/100
450/450 [==============================] - 0s - loss: 0.3571
Epoch 19/100
450/450 [==============================] - 0s - loss: 0.3429
Epoch 20/100
450/450 [==============================] - 0s - loss: 0.3296
Epoch 21/100
450/450 [==============================] - 0s - loss: 0.3171
Epoch 22/100
450/450 [==============================] - 0s - loss: 0.3057
Epoch 23/100
450/450 [==============================] - 0s - loss: 0.2951
Epoch 24/100
450/450 [==============================] - 0s - loss: 0.2852
Epoch 25/100
450/450 [==============================] - 0s - loss: 0.2761
Epoch 26/100
450/450 [==============================] - 0s - loss: 0.2678
Epoch 27/100
450/450 [==============================] - 0s - loss: 0.2600
Epoch 28/100
450/450 [==============================] - 0s - loss: 0.2528
Epoch 29/100
450/450 [==============================] - 0s - loss: 0.2461
Epoch 30/100
450/450 [==============================] - 0s - loss: 0.2399
Epoch 31/100
450/450 [==============================] - 0s - loss: 0.2340
Epoch 32/100
450/450 [==============================] - 0s - loss: 0.2285
Epoch 33/100
450/450 [==============================] - 0s - loss: 0.2233
Epoch 34/100
450/450 [==============================] - 0s - loss: 0.2184
Epoch 35/100
450/450 [==============================] - 0s - loss: 0.2136
Epoch 36/100
450/450 [==============================] - 0s - loss: 0.2091
Epoch 37/100
450/450 [==============================] - 0s - loss: 0.2048
Epoch 38/100
450/450 [==============================] - 0s - loss: 0.2006
Epoch 39/100
450/450 [==============================] - 0s - loss: 0.1966
Epoch 40/100
450/450 [==============================] - 0s - loss: 0.1929
Epoch 41/100
450/450 [==============================] - 0s - loss: 0.1893
Epoch 42/100
450/450 [==============================] - 0s - loss: 0.1859
Epoch 43/100
450/450 [==============================] - 0s - loss: 0.1827
Epoch 44/100
450/450 [==============================] - 0s - loss: 0.1796
Epoch 45/100
450/450 [==============================] - 0s - loss: 0.1768
Epoch 46/100
450/450 [==============================] - 0s - loss: 0.1740
Epoch 47/100
450/450 [==============================] - 0s - loss: 0.1712
Epoch 48/100
450/450 [==============================] - 0s - loss: 0.1686
Epoch 49/100
450/450 [==============================] - 0s - loss: 0.1661
Epoch 50/100
450/450 [==============================] - 0s - loss: 0.1636
Epoch 51/100
450/450 [==============================] - 0s - loss: 0.1611
Epoch 52/100
450/450 [==============================] - 0s - loss: 0.1587
Epoch 53/100
450/450 [==============================] - 0s - loss: 0.1563
Epoch 54/100
450/450 [==============================] - 0s - loss: 0.1540
Epoch 55/100
450/450 [==============================] - 0s - loss: 0.1517
Epoch 56/100
450/450 [==============================] - 0s - loss: 0.1495
Epoch 57/100
450/450 [==============================] - 0s - loss: 0.1473
Epoch 58/100
450/450 [==============================] - 0s - loss: 0.1452
Epoch 59/100
450/450 [==============================] - 0s - loss: 0.1430
Epoch 60/100
450/450 [==============================] - 0s - loss: 0.1409
Epoch 61/100
450/450 [==============================] - 0s - loss: 0.1388
Epoch 62/100
450/450 [==============================] - 0s - loss: 0.1367
Epoch 63/100
450/450 [==============================] - 0s - loss: 0.1346
Epoch 64/100
450/450 [==============================] - 0s - loss: 0.1325
Epoch 65/100
450/450 [==============================] - 0s - loss: 0.1305
Epoch 66/100
450/450 [==============================] - 0s - loss: 0.1284
Epoch 67/100
450/450 [==============================] - 0s - loss: 0.1264
Epoch 68/100
450/450 [==============================] - 0s - loss: 0.1245
Epoch 69/100
450/450 [==============================] - 0s - loss: 0.1225
Epoch 70/100
450/450 [==============================] - 0s - loss: 0.1206
Epoch 71/100
450/450 [==============================] - 0s - loss: 0.1187
Epoch 72/100
450/450 [==============================] - 0s - loss: 0.1168
Epoch 73/100
450/450 [==============================] - 0s - loss: 0.1149
Epoch 74/100
450/450 [==============================] - 0s - loss: 0.1129
Epoch 75/100
450/450 [==============================] - 0s - loss: 0.1110
Epoch 76/100
450/450 [==============================] - 0s - loss: 0.1092
Epoch 77/100
450/450 [==============================] - 0s - loss: 0.1073
Epoch 78/100
450/450 [==============================] - 0s - loss: 0.1055
Epoch 79/100
450/450 [==============================] - 0s - loss: 0.1036
Epoch 80/100
450/450 [==============================] - 0s - loss: 0.1018
Epoch 81/100
450/450 [==============================] - 0s - loss: 0.1000
Epoch 82/100
450/450 [==============================] - 0s - loss: 0.0982
Epoch 83/100
450/450 [==============================] - 0s - loss: 0.0964
Epoch 84/100
450/450 [==============================] - 0s - loss: 0.0945
Epoch 85/100
450/450 [==============================] - 0s - loss: 0.0927
Epoch 86/100
450/450 [==============================] - 0s - loss: 0.0908
Epoch 87/100
450/450 [==============================] - 0s - loss: 0.0890
Epoch 88/100
450/450 [==============================] - 0s - loss: 0.0871
Epoch 89/100
450/450 [==============================] - 0s - loss: 0.0853
Epoch 90/100
450/450 [==============================] - 0s - loss: 0.0835
Epoch 91/100
450/450 [==============================] - 0s - loss: 0.0817
Epoch 92/100
450/450 [==============================] - 0s - loss: 0.0799
Epoch 93/100
450/450 [==============================] - 0s - loss: 0.0782
Epoch 94/100
450/450 [==============================] - 0s - loss: 0.0764
Epoch 95/100
450/450 [==============================] - 0s - loss: 0.0746
Epoch 96/100
450/450 [==============================] - 0s - loss: 0.0728
Epoch 97/100
450/450 [==============================] - 0s - loss: 0.0711
Epoch 98/100
450/450 [==============================] - 0s - loss: 0.0693
Epoch 99/100
450/450 [==============================] - 0s - loss: 0.0676
Epoch 100/100
450/450 [==============================] - 0s - loss: 0.0659
50/50 [==============================] - 0s
Epoch 1/100
450/450 [==============================] - 0s - loss: 0.7481
Epoch 2/100
450/450 [==============================] - 0s - loss: 0.7225
Epoch 3/100
450/450 [==============================] - 0s - loss: 0.6984
Epoch 4/100
450/450 [==============================] - 0s - loss: 0.6755
Epoch 5/100
450/450 [==============================] - 0s - loss: 0.6537
Epoch 6/100
450/450 [==============================] - 0s - loss: 0.6327
Epoch 7/100
450/450 [==============================] - 0s - loss: 0.6124
Epoch 8/100
450/450 [==============================] - 0s - loss: 0.5927
Epoch 9/100
450/450 [==============================] - 0s - loss: 0.5733
Epoch 10/100
450/450 [==============================] - 0s - loss: 0.5543
Epoch 11/100
450/450 [==============================] - 0s - loss: 0.5355
Epoch 12/100
450/450 [==============================] - 0s - loss: 0.5171
Epoch 13/100
450/450 [==============================] - 0s - loss: 0.4988
Epoch 14/100
450/450 [==============================] - 0s - loss: 0.4808
Epoch 15/100
450/450 [==============================] - 0s - loss: 0.4631
Epoch 16/100
450/450 [==============================] - 0s - loss: 0.4457
Epoch 17/100
450/450 [==============================] - 0s - loss: 0.4286
Epoch 18/100
450/450 [==============================] - 0s - loss: 0.4121
Epoch 19/100
450/450 [==============================] - 0s - loss: 0.3962
Epoch 20/100
450/450 [==============================] - 0s - loss: 0.3809
Epoch 21/100
450/450 [==============================] - 0s - loss: 0.3664
Epoch 22/100
450/450 [==============================] - 0s - loss: 0.3527
Epoch 23/100
450/450 [==============================] - 0s - loss: 0.3398
Epoch 24/100
450/450 [==============================] - 0s - loss: 0.3277
Epoch 25/100
450/450 [==============================] - 0s - loss: 0.3164
Epoch 26/100
450/450 [==============================] - 0s - loss: 0.3058
Epoch 27/100
450/450 [==============================] - 0s - loss: 0.2959
Epoch 28/100
450/450 [==============================] - 0s - loss: 0.2866
Epoch 29/100
450/450 [==============================] - 0s - loss: 0.2779
Epoch 30/100
450/450 [==============================] - 0s - loss: 0.2698
Epoch 31/100
450/450 [==============================] - 0s - loss: 0.2622
Epoch 32/100
450/450 [==============================] - 0s - loss: 0.2551
Epoch 33/100
450/450 [==============================] - 0s - loss: 0.2483
Epoch 34/100
450/450 [==============================] - 0s - loss: 0.2420
Epoch 35/100
450/450 [==============================] - 0s - loss: 0.2360
Epoch 36/100
450/450 [==============================] - 0s - loss: 0.2303
Epoch 37/100
450/450 [==============================] - 0s - loss: 0.2249
Epoch 38/100
450/450 [==============================] - 0s - loss: 0.2197
Epoch 39/100
450/450 [==============================] - 0s - loss: 0.2148
Epoch 40/100
450/450 [==============================] - 0s - loss: 0.2102
Epoch 41/100
450/450 [==============================] - 0s - loss: 0.2057
Epoch 42/100
450/450 [==============================] - 0s - loss: 0.2014
Epoch 43/100
450/450 [==============================] - 0s - loss: 0.1974
Epoch 44/100
450/450 [==============================] - 0s - loss: 0.1935
Epoch 45/100
450/450 [==============================] - 0s - loss: 0.1897
Epoch 46/100
450/450 [==============================] - 0s - loss: 0.1861
Epoch 47/100
450/450 [==============================] - 0s - loss: 0.1826
Epoch 48/100
450/450 [==============================] - 0s - loss: 0.1792
Epoch 49/100
450/450 [==============================] - 0s - loss: 0.1759
Epoch 50/100
450/450 [==============================] - 0s - loss: 0.1726
Epoch 51/100
450/450 [==============================] - 0s - loss: 0.1695
Epoch 52/100
450/450 [==============================] - 0s - loss: 0.1665
Epoch 53/100
450/450 [==============================] - 0s - loss: 0.1635
Epoch 54/100
450/450 [==============================] - 0s - loss: 0.1606
Epoch 55/100
450/450 [==============================] - 0s - loss: 0.1579
Epoch 56/100
450/450 [==============================] - 0s - loss: 0.1553
Epoch 57/100
450/450 [==============================] - 0s - loss: 0.1527
Epoch 58/100
450/450 [==============================] - 0s - loss: 0.1503
Epoch 59/100
450/450 [==============================] - 0s - loss: 0.1479
Epoch 60/100
450/450 [==============================] - 0s - loss: 0.1456
Epoch 61/100
450/450 [==============================] - 0s - loss: 0.1434
Epoch 62/100
450/450 [==============================] - 0s - loss: 0.1412
Epoch 63/100
450/450 [==============================] - 0s - loss: 0.1390
Epoch 64/100
450/450 [==============================] - 0s - loss: 0.1370
Epoch 65/100
450/450 [==============================] - 0s - loss: 0.1349
Epoch 66/100
450/450 [==============================] - 0s - loss: 0.1329
Epoch 67/100
450/450 [==============================] - 0s - loss: 0.1309
Epoch 68/100
450/450 [==============================] - 0s - loss: 0.1290
Epoch 69/100
450/450 [==============================] - 0s - loss: 0.1270
Epoch 70/100
450/450 [==============================] - 0s - loss: 0.1251
Epoch 71/100
450/450 [==============================] - 0s - loss: 0.1232
Epoch 72/100
450/450 [==============================] - 0s - loss: 0.1213
Epoch 73/100
450/450 [==============================] - 0s - loss: 0.1195
Epoch 74/100
450/450 [==============================] - 0s - loss: 0.1176
Epoch 75/100
450/450 [==============================] - 0s - loss: 0.1158
Epoch 76/100
450/450 [==============================] - 0s - loss: 0.1140
Epoch 77/100
450/450 [==============================] - 0s - loss: 0.1123
Epoch 78/100
450/450 [==============================] - 0s - loss: 0.1106
Epoch 79/100
450/450 [==============================] - 0s - loss: 0.1088
Epoch 80/100
450/450 [==============================] - 0s - loss: 0.1071
Epoch 81/100
450/450 [==============================] - 0s - loss: 0.1054
Epoch 82/100
450/450 [==============================] - 0s - loss: 0.1038
Epoch 83/100
450/450 [==============================] - 0s - loss: 0.1021
Epoch 84/100
450/450 [==============================] - 0s - loss: 0.1004
Epoch 85/100
450/450 [==============================] - 0s - loss: 0.0988
Epoch 86/100
450/450 [==============================] - 0s - loss: 0.0971
Epoch 87/100
450/450 [==============================] - 0s - loss: 0.0955
Epoch 88/100
450/450 [==============================] - 0s - loss: 0.0938
Epoch 89/100
450/450 [==============================] - 0s - loss: 0.0922
Epoch 90/100
450/450 [==============================] - 0s - loss: 0.0905
Epoch 91/100
450/450 [==============================] - 0s - loss: 0.0889
Epoch 92/100
450/450 [==============================] - 0s - loss: 0.0873
Epoch 93/100
450/450 [==============================] - 0s - loss: 0.0856
Epoch 94/100
450/450 [==============================] - 0s - loss: 0.0840
Epoch 95/100
450/450 [==============================] - 0s - loss: 0.0824
Epoch 96/100
450/450 [==============================] - 0s - loss: 0.0809
Epoch 97/100
450/450 [==============================] - 0s - loss: 0.0794
Epoch 98/100
450/450 [==============================] - 0s - loss: 0.0778
Epoch 99/100
450/450 [==============================] - 0s - loss: 0.0763
Epoch 100/100
450/450 [==============================] - 0s - loss: 0.0748
50/50 [==============================] - 0s
Epoch 1/100
450/450 [==============================] - 0s - loss: 0.6845
Epoch 2/100
450/450 [==============================] - 0s - loss: 0.6655
Epoch 3/100
450/450 [==============================] - 0s - loss: 0.6470
Epoch 4/100
450/450 [==============================] - 0s - loss: 0.6287
Epoch 5/100
450/450 [==============================] - 0s - loss: 0.6106
Epoch 6/100
450/450 [==============================] - 0s - loss: 0.5926
Epoch 7/100
450/450 [==============================] - 0s - loss: 0.5747
Epoch 8/100
450/450 [==============================] - 0s - loss: 0.5567
Epoch 9/100
450/450 [==============================] - 0s - loss: 0.5388
Epoch 10/100
450/450 [==============================] - 0s - loss: 0.5208
Epoch 11/100
450/450 [==============================] - 0s - loss: 0.5028
Epoch 12/100
450/450 [==============================] - 0s - loss: 0.4848
Epoch 13/100
450/450 [==============================] - 0s - loss: 0.4670
Epoch 14/100
450/450 [==============================] - 0s - loss: 0.4493
Epoch 15/100
450/450 [==============================] - 0s - loss: 0.4319
Epoch 16/100
450/450 [==============================] - 0s - loss: 0.4149
Epoch 17/100
450/450 [==============================] - 0s - loss: 0.3984
Epoch 18/100
450/450 [==============================] - 0s - loss: 0.3825
Epoch 19/100
450/450 [==============================] - 0s - loss: 0.3674
Epoch 20/100
450/450 [==============================] - 0s - loss: 0.3531
Epoch 21/100
450/450 [==============================] - 0s - loss: 0.3396
Epoch 22/100
450/450 [==============================] - 0s - loss: 0.3270
Epoch 23/100
450/450 [==============================] - 0s - loss: 0.3152
Epoch 24/100
450/450 [==============================] - 0s - loss: 0.3042
Epoch 25/100
450/450 [==============================] - 0s - loss: 0.2939
Epoch 26/100
450/450 [==============================] - 0s - loss: 0.2844
Epoch 27/100
450/450 [==============================] - 0s - loss: 0.2756
Epoch 28/100
450/450 [==============================] - 0s - loss: 0.2674
Epoch 29/100
450/450 [==============================] - 0s - loss: 0.2597
Epoch 30/100
450/450 [==============================] - 0s - loss: 0.2526
Epoch 31/100
450/450 [==============================] - 0s - loss: 0.2458
Epoch 32/100
450/450 [==============================] - 0s - loss: 0.2395
Epoch 33/100
450/450 [==============================] - 0s - loss: 0.2335
Epoch 34/100
450/450 [==============================] - 0s - loss: 0.2279
Epoch 35/100
450/450 [==============================] - 0s - loss: 0.2226
Epoch 36/100
450/450 [==============================] - 0s - loss: 0.2176
Epoch 37/100
450/450 [==============================] - 0s - loss: 0.2129
Epoch 38/100
450/450 [==============================] - 0s - loss: 0.2085
Epoch 39/100
450/450 [==============================] - 0s - loss: 0.2043
Epoch 40/100
450/450 [==============================] - 0s - loss: 0.2003
Epoch 41/100
450/450 [==============================] - 0s - loss: 0.1964
Epoch 42/100
450/450 [==============================] - 0s - loss: 0.1927
Epoch 43/100
450/450 [==============================] - 0s - loss: 0.1891
Epoch 44/100
450/450 [==============================] - 0s - loss: 0.1856
Epoch 45/100
450/450 [==============================] - 0s - loss: 0.1821
Epoch 46/100
450/450 [==============================] - 0s - loss: 0.1788
Epoch 47/100
450/450 [==============================] - 0s - loss: 0.1757
Epoch 48/100
450/450 [==============================] - 0s - loss: 0.1726
Epoch 49/100
450/450 [==============================] - 0s - loss: 0.1697
Epoch 50/100
450/450 [==============================] - 0s - loss: 0.1668
Epoch 51/100
450/450 [==============================] - 0s - loss: 0.1640
Epoch 52/100
450/450 [==============================] - 0s - loss: 0.1613
Epoch 53/100
450/450 [==============================] - 0s - loss: 0.1586
Epoch 54/100
450/450 [==============================] - 0s - loss: 0.1560
Epoch 55/100
450/450 [==============================] - 0s - loss: 0.1535
Epoch 56/100
450/450 [==============================] - 0s - loss: 0.1509
Epoch 57/100
450/450 [==============================] - 0s - loss: 0.1485
Epoch 58/100
450/450 [==============================] - 0s - loss: 0.1461
Epoch 59/100
450/450 [==============================] - 0s - loss: 0.1437
Epoch 60/100
450/450 [==============================] - 0s - loss: 0.1414
Epoch 61/100
450/450 [==============================] - 0s - loss: 0.1390
Epoch 62/100
450/450 [==============================] - 0s - loss: 0.1368
Epoch 63/100
450/450 [==============================] - 0s - loss: 0.1346
Epoch 64/100
450/450 [==============================] - 0s - loss: 0.1323
Epoch 65/100
450/450 [==============================] - 0s - loss: 0.1302
Epoch 66/100
450/450 [==============================] - 0s - loss: 0.1281
Epoch 67/100
450/450 [==============================] - 0s - loss: 0.1260
Epoch 68/100
450/450 [==============================] - 0s - loss: 0.1239
Epoch 69/100
450/450 [==============================] - 0s - loss: 0.1218
Epoch 70/100
450/450 [==============================] - 0s - loss: 0.1198
Epoch 71/100
450/450 [==============================] - 0s - loss: 0.1178
Epoch 72/100
450/450 [==============================] - 0s - loss: 0.1158
Epoch 73/100
450/450 [==============================] - 0s - loss: 0.1138
Epoch 74/100
450/450 [==============================] - 0s - loss: 0.1119
Epoch 75/100
450/450 [==============================] - 0s - loss: 0.1099
Epoch 76/100
450/450 [==============================] - 0s - loss: 0.1080
Epoch 77/100
450/450 [==============================] - 0s - loss: 0.1061
Epoch 78/100
450/450 [==============================] - 0s - loss: 0.1042
Epoch 79/100
450/450 [==============================] - 0s - loss: 0.1023
Epoch 80/100
450/450 [==============================] - 0s - loss: 0.1005
Epoch 81/100
450/450 [==============================] - 0s - loss: 0.0987
Epoch 82/100
450/450 [==============================] - 0s - loss: 0.0969
Epoch 83/100
450/450 [==============================] - 0s - loss: 0.0951
Epoch 84/100
450/450 [==============================] - 0s - loss: 0.0933
Epoch 85/100
450/450 [==============================] - 0s - loss: 0.0915
Epoch 86/100
450/450 [==============================] - 0s - loss: 0.0897
Epoch 87/100
450/450 [==============================] - 0s - loss: 0.0880
Epoch 88/100
450/450 [==============================] - 0s - loss: 0.0862
Epoch 89/100
450/450 [==============================] - 0s - loss: 0.0846
Epoch 90/100
450/450 [==============================] - 0s - loss: 0.0829
Epoch 91/100
450/450 [==============================] - 0s - loss: 0.0812
Epoch 92/100
450/450 [==============================] - 0s - loss: 0.0796
Epoch 93/100
450/450 [==============================] - 0s - loss: 0.0779
Epoch 94/100
450/450 [==============================] - 0s - loss: 0.0763
Epoch 95/100
450/450 [==============================] - 0s - loss: 0.0747
Epoch 96/100
450/450 [==============================] - 0s - loss: 0.0730
Epoch 97/100
450/450 [==============================] - 0s - loss: 0.0715
Epoch 98/100
450/450 [==============================] - 0s - loss: 0.0699
Epoch 99/100
450/450 [==============================] - 0s - loss: 0.0683
Epoch 100/100
450/450 [==============================] - 0s - loss: 0.0668
50/50 [==============================] - 0s
Epoch 1/100
450/450 [==============================] - 0s - loss: 0.6651
Epoch 2/100
450/450 [==============================] - 0s - loss: 0.6438
Epoch 3/100
450/450 [==============================] - 0s - loss: 0.6230
Epoch 4/100
450/450 [==============================] - 0s - loss: 0.6023
Epoch 5/100
450/450 [==============================] - 0s - loss: 0.5818
Epoch 6/100
450/450 [==============================] - 0s - loss: 0.5614
Epoch 7/100
450/450 [==============================] - 0s - loss: 0.5411
Epoch 8/100
450/450 [==============================] - 0s - loss: 0.5209
Epoch 9/100
450/450 [==============================] - 0s - loss: 0.5007
Epoch 10/100
450/450 [==============================] - 0s - loss: 0.4808
Epoch 11/100
450/450 [==============================] - 0s - loss: 0.4611
Epoch 12/100
450/450 [==============================] - 0s - loss: 0.4419
Epoch 13/100
450/450 [==============================] - 0s - loss: 0.4232
Epoch 14/100
450/450 [==============================] - 0s - loss: 0.4051
Epoch 15/100
450/450 [==============================] - 0s - loss: 0.3877
Epoch 16/100
450/450 [==============================] - 0s - loss: 0.3713
Epoch 17/100
450/450 [==============================] - 0s - loss: 0.3558
Epoch 18/100
450/450 [==============================] - 0s - loss: 0.3414
Epoch 19/100
450/450 [==============================] - 0s - loss: 0.3280
Epoch 20/100
450/450 [==============================] - 0s - loss: 0.3157
Epoch 21/100
450/450 [==============================] - 0s - loss: 0.3044
Epoch 22/100
450/450 [==============================] - 0s - loss: 0.2941
Epoch 23/100
450/450 [==============================] - 0s - loss: 0.2845
Epoch 24/100
450/450 [==============================] - 0s - loss: 0.2757
Epoch 25/100
450/450 [==============================] - 0s - loss: 0.2676
Epoch 26/100
450/450 [==============================] - 0s - loss: 0.2600
Epoch 27/100
450/450 [==============================] - 0s - loss: 0.2530
Epoch 28/100
450/450 [==============================] - 0s - loss: 0.2464
Epoch 29/100
450/450 [==============================] - 0s - loss: 0.2403
Epoch 30/100
450/450 [==============================] - 0s - loss: 0.2344
Epoch 31/100
450/450 [==============================] - 0s - loss: 0.2289
Epoch 32/100
450/450 [==============================] - 0s - loss: 0.2237
Epoch 33/100
450/450 [==============================] - 0s - loss: 0.2186
Epoch 34/100
450/450 [==============================] - 0s - loss: 0.2137
Epoch 35/100
450/450 [==============================] - 0s - loss: 0.2090
Epoch 36/100
450/450 [==============================] - 0s - loss: 0.2045
Epoch 37/100
450/450 [==============================] - 0s - loss: 0.2001
Epoch 38/100
450/450 [==============================] - 0s - loss: 0.1958
Epoch 39/100
450/450 [==============================] - 0s - loss: 0.1917
Epoch 40/100
450/450 [==============================] - 0s - loss: 0.1877
Epoch 41/100
450/450 [==============================] - 0s - loss: 0.1838
Epoch 42/100
450/450 [==============================] - 0s - loss: 0.1800
Epoch 43/100
450/450 [==============================] - 0s - loss: 0.1763
Epoch 44/100
450/450 [==============================] - 0s - loss: 0.1728
Epoch 45/100
450/450 [==============================] - 0s - loss: 0.1693
Epoch 46/100
450/450 [==============================] - 0s - loss: 0.1658
Epoch 47/100
450/450 [==============================] - 0s - loss: 0.1625
Epoch 48/100
450/450 [==============================] - 0s - loss: 0.1593
Epoch 49/100
450/450 [==============================] - 0s - loss: 0.1562
Epoch 50/100
450/450 [==============================] - 0s - loss: 0.1531
Epoch 51/100
450/450 [==============================] - 0s - loss: 0.1502
Epoch 52/100
450/450 [==============================] - 0s - loss: 0.1473
Epoch 53/100
450/450 [==============================] - 0s - loss: 0.1445
Epoch 54/100
450/450 [==============================] - 0s - loss: 0.1418
Epoch 55/100
450/450 [==============================] - 0s - loss: 0.1391
Epoch 56/100
450/450 [==============================] - 0s - loss: 0.1364
Epoch 57/100
450/450 [==============================] - 0s - loss: 0.1338
Epoch 58/100
450/450 [==============================] - 0s - loss: 0.1312
Epoch 59/100
450/450 [==============================] - 0s - loss: 0.1287
Epoch 60/100
450/450 [==============================] - 0s - loss: 0.1262
Epoch 61/100
450/450 [==============================] - 0s - loss: 0.1237
Epoch 62/100
450/450 [==============================] - 0s - loss: 0.1213
Epoch 63/100
450/450 [==============================] - 0s - loss: 0.1189
Epoch 64/100
450/450 [==============================] - 0s - loss: 0.1166
Epoch 65/100
450/450 [==============================] - 0s - loss: 0.1143
Epoch 66/100
450/450 [==============================] - 0s - loss: 0.1120
Epoch 67/100
450/450 [==============================] - 0s - loss: 0.1099
Epoch 68/100
450/450 [==============================] - 0s - loss: 0.1077
Epoch 69/100
450/450 [==============================] - 0s - loss: 0.1056
Epoch 70/100
450/450 [==============================] - 0s - loss: 0.1035
Epoch 71/100
450/450 [==============================] - 0s - loss: 0.1015
Epoch 72/100
450/450 [==============================] - 0s - loss: 0.0995
Epoch 73/100
450/450 [==============================] - 0s - loss: 0.0975
Epoch 74/100
450/450 [==============================] - 0s - loss: 0.0955
Epoch 75/100
450/450 [==============================] - 0s - loss: 0.0935
Epoch 76/100
450/450 [==============================] - 0s - loss: 0.0916
Epoch 77/100
450/450 [==============================] - 0s - loss: 0.0897
Epoch 78/100
450/450 [==============================] - 0s - loss: 0.0879
Epoch 79/100
450/450 [==============================] - 0s - loss: 0.0860
Epoch 80/100
450/450 [==============================] - 0s - loss: 0.0842
Epoch 81/100
450/450 [==============================] - 0s - loss: 0.0824
Epoch 82/100
450/450 [==============================] - 0s - loss: 0.0807
Epoch 83/100
450/450 [==============================] - 0s - loss: 0.0789
Epoch 84/100
450/450 [==============================] - 0s - loss: 0.0772
Epoch 85/100
450/450 [==============================] - 0s - loss: 0.0755
Epoch 86/100
450/450 [==============================] - 0s - loss: 0.0738
Epoch 87/100
450/450 [==============================] - 0s - loss: 0.0722
Epoch 88/100
450/450 [==============================] - 0s - loss: 0.0706
Epoch 89/100
450/450 [==============================] - 0s - loss: 0.0689
Epoch 90/100
450/450 [==============================] - 0s - loss: 0.0673
Epoch 91/100
450/450 [==============================] - 0s - loss: 0.0658
Epoch 92/100
450/450 [==============================] - 0s - loss: 0.0642
Epoch 93/100
450/450 [==============================] - 0s - loss: 0.0627
Epoch 94/100
450/450 [==============================] - 0s - loss: 0.0612
Epoch 95/100
450/450 [==============================] - 0s - loss: 0.0597
Epoch 96/100
450/450 [==============================] - 0s - loss: 0.0583
Epoch 97/100
450/450 [==============================] - 0s - loss: 0.0568
Epoch 98/100
450/450 [==============================] - 0s - loss: 0.0554
Epoch 99/100
450/450 [==============================] - 0s - loss: 0.0540
Epoch 100/100
450/450 [==============================] - 0s - loss: 0.0527
50/50 [==============================] - 0s
Epoch 1/100
450/450 [==============================] - 0s - loss: 0.7338
Epoch 2/100
450/450 [==============================] - 0s - loss: 0.7131
Epoch 3/100
450/450 [==============================] - 0s - loss: 0.6938
Epoch 4/100
450/450 [==============================] - 0s - loss: 0.6754
Epoch 5/100
450/450 [==============================] - 0s - loss: 0.6578
Epoch 6/100
450/450 [==============================] - 0s - loss: 0.6408
Epoch 7/100
450/450 [==============================] - 0s - loss: 0.6240
Epoch 8/100
450/450 [==============================] - 0s - loss: 0.6075
Epoch 9/100
450/450 [==============================] - 0s - loss: 0.5911
Epoch 10/100
450/450 [==============================] - 0s - loss: 0.5748
Epoch 11/100
450/450 [==============================] - 0s - loss: 0.5583
Epoch 12/100
450/450 [==============================] - 0s - loss: 0.5417
Epoch 13/100
450/450 [==============================] - 0s - loss: 0.5250
Epoch 14/100
450/450 [==============================] - 0s - loss: 0.5082
Epoch 15/100
450/450 [==============================] - 0s - loss: 0.4912
Epoch 16/100
450/450 [==============================] - 0s - loss: 0.4741
Epoch 17/100
450/450 [==============================] - 0s - loss: 0.4572
Epoch 18/100
450/450 [==============================] - 0s - loss: 0.4403
Epoch 19/100
450/450 [==============================] - 0s - loss: 0.4237
Epoch 20/100
450/450 [==============================] - 0s - loss: 0.4074
Epoch 21/100
450/450 [==============================] - 0s - loss: 0.3916
Epoch 22/100
450/450 [==============================] - 0s - loss: 0.3763
Epoch 23/100
450/450 [==============================] - 0s - loss: 0.3618
Epoch 24/100
450/450 [==============================] - 0s - loss: 0.3481
Epoch 25/100
450/450 [==============================] - 0s - loss: 0.3353
Epoch 26/100
450/450 [==============================] - 0s - loss: 0.3232
Epoch 27/100
450/450 [==============================] - 0s - loss: 0.3120
Epoch 28/100
450/450 [==============================] - 0s - loss: 0.3016
Epoch 29/100
450/450 [==============================] - 0s - loss: 0.2919
Epoch 30/100
450/450 [==============================] - 0s - loss: 0.2828
Epoch 31/100
450/450 [==============================] - 0s - loss: 0.2744
Epoch 32/100
450/450 [==============================] - 0s - loss: 0.2665
Epoch 33/100
450/450 [==============================] - 0s - loss: 0.2590
Epoch 34/100
450/450 [==============================] - 0s - loss: 0.2520
Epoch 35/100
450/450 [==============================] - 0s - loss: 0.2453
Epoch 36/100
450/450 [==============================] - 0s - loss: 0.2390
Epoch 37/100
450/450 [==============================] - 0s - loss: 0.2330
Epoch 38/100
450/450 [==============================] - 0s - loss: 0.2274
Epoch 39/100
450/450 [==============================] - 0s - loss: 0.2220
Epoch 40/100
450/450 [==============================] - 0s - loss: 0.2170
Epoch 41/100
450/450 [==============================] - 0s - loss: 0.2122
Epoch 42/100
450/450 [==============================] - 0s - loss: 0.2076
Epoch 43/100
450/450 [==============================] - 0s - loss: 0.2032
Epoch 44/100
450/450 [==============================] - 0s - loss: 0.1991
Epoch 45/100
450/450 [==============================] - 0s - loss: 0.1951
Epoch 46/100
450/450 [==============================] - 0s - loss: 0.1913
Epoch 47/100
450/450 [==============================] - 0s - loss: 0.1877
Epoch 48/100
450/450 [==============================] - 0s - loss: 0.1842
Epoch 49/100
450/450 [==============================] - 0s - loss: 0.1808
Epoch 50/100
450/450 [==============================] - 0s - loss: 0.1776
Epoch 51/100
450/450 [==============================] - 0s - loss: 0.1745
Epoch 52/100
450/450 [==============================] - 0s - loss: 0.1716
Epoch 53/100
450/450 [==============================] - 0s - loss: 0.1687
Epoch 54/100
450/450 [==============================] - 0s - loss: 0.1659
Epoch 55/100
450/450 [==============================] - 0s - loss: 0.1632
Epoch 56/100
450/450 [==============================] - 0s - loss: 0.1606
Epoch 57/100
450/450 [==============================] - 0s - loss: 0.1579
Epoch 58/100
450/450 [==============================] - 0s - loss: 0.1554
Epoch 59/100
450/450 [==============================] - 0s - loss: 0.1528
Epoch 60/100
450/450 [==============================] - 0s - loss: 0.1503
Epoch 61/100
450/450 [==============================] - 0s - loss: 0.1478
Epoch 62/100
450/450 [==============================] - 0s - loss: 0.1453
Epoch 63/100
450/450 [==============================] - 0s - loss: 0.1429
Epoch 64/100
450/450 [==============================] - 0s - loss: 0.1405
Epoch 65/100
450/450 [==============================] - 0s - loss: 0.1382
Epoch 66/100
450/450 [==============================] - 0s - loss: 0.1359
Epoch 67/100
450/450 [==============================] - 0s - loss: 0.1337
Epoch 68/100
450/450 [==============================] - 0s - loss: 0.1315
Epoch 69/100
450/450 [==============================] - 0s - loss: 0.1293
Epoch 70/100
450/450 [==============================] - 0s - loss: 0.1272
Epoch 71/100
450/450 [==============================] - 0s - loss: 0.1251
Epoch 72/100
450/450 [==============================] - 0s - loss: 0.1231
Epoch 73/100
450/450 [==============================] - 0s - loss: 0.1210
Epoch 74/100
450/450 [==============================] - 0s - loss: 0.1190
Epoch 75/100
450/450 [==============================] - 0s - loss: 0.1169
Epoch 76/100
450/450 [==============================] - 0s - loss: 0.1149
Epoch 77/100
450/450 [==============================] - 0s - loss: 0.1130
Epoch 78/100
450/450 [==============================] - 0s - loss: 0.1110
Epoch 79/100
450/450 [==============================] - 0s - loss: 0.1091
Epoch 80/100
450/450 [==============================] - 0s - loss: 0.1072
Epoch 81/100
450/450 [==============================] - 0s - loss: 0.1053
Epoch 82/100
450/450 [==============================] - 0s - loss: 0.1034
Epoch 83/100
450/450 [==============================] - 0s - loss: 0.1015
Epoch 84/100
450/450 [==============================] - 0s - loss: 0.0996
Epoch 85/100
450/450 [==============================] - 0s - loss: 0.0978
Epoch 86/100
450/450 [==============================] - 0s - loss: 0.0960
Epoch 87/100
450/450 [==============================] - 0s - loss: 0.0941
Epoch 88/100
450/450 [==============================] - 0s - loss: 0.0923
Epoch 89/100
450/450 [==============================] - 0s - loss: 0.0905
Epoch 90/100
450/450 [==============================] - 0s - loss: 0.0887
Epoch 91/100
450/450 [==============================] - 0s - loss: 0.0869
Epoch 92/100
450/450 [==============================] - 0s - loss: 0.0852
Epoch 93/100
450/450 [==============================] - 0s - loss: 0.0835
Epoch 94/100
450/450 [==============================] - 0s - loss: 0.0818
Epoch 95/100
450/450 [==============================] - 0s - loss: 0.0801
Epoch 96/100
450/450 [==============================] - 0s - loss: 0.0784
Epoch 97/100
450/450 [==============================] - 0s - loss: 0.0768
Epoch 98/100
450/450 [==============================] - 0s - loss: 0.0752
Epoch 99/100
450/450 [==============================] - 0s - loss: 0.0736
Epoch 100/100
450/450 [==============================] - 0s - loss: 0.0721
50/50 [==============================] - 0s
Epoch 1/100
450/450 [==============================] - 0s - loss: 0.6701
Epoch 2/100
450/450 [==============================] - 0s - loss: 0.6491
Epoch 3/100
450/450 [==============================] - 0s - loss: 0.6290
Epoch 4/100
450/450 [==============================] - 0s - loss: 0.6095
Epoch 5/100
450/450 [==============================] - 0s - loss: 0.5904
Epoch 6/100
450/450 [==============================] - 0s - loss: 0.5717
Epoch 7/100
450/450 [==============================] - 0s - loss: 0.5532
Epoch 8/100
450/450 [==============================] - 0s - loss: 0.5348
Epoch 9/100
450/450 [==============================] - 0s - loss: 0.5167
Epoch 10/100
450/450 [==============================] - 0s - loss: 0.4987
Epoch 11/100
450/450 [==============================] - 0s - loss: 0.4809
Epoch 12/100
450/450 [==============================] - 0s - loss: 0.4633
Epoch 13/100
450/450 [==============================] - 0s - loss: 0.4461
Epoch 14/100
450/450 [==============================] - 0s - loss: 0.4293
Epoch 15/100
450/450 [==============================] - 0s - loss: 0.4130
Epoch 16/100
450/450 [==============================] - 0s - loss: 0.3974
Epoch 17/100
450/450 [==============================] - 0s - loss: 0.3826
Epoch 18/100
450/450 [==============================] - 0s - loss: 0.3686
Epoch 19/100
450/450 [==============================] - 0s - loss: 0.3556
Epoch 20/100
450/450 [==============================] - 0s - loss: 0.3435
Epoch 21/100
450/450 [==============================] - 0s - loss: 0.3323
Epoch 22/100
450/450 [==============================] - 0s - loss: 0.3220
Epoch 23/100
450/450 [==============================] - 0s - loss: 0.3126
Epoch 24/100
450/450 [==============================] - 0s - loss: 0.3040
Epoch 25/100
450/450 [==============================] - 0s - loss: 0.2961
Epoch 26/100
450/450 [==============================] - 0s - loss: 0.2889
Epoch 27/100
450/450 [==============================] - 0s - loss: 0.2823
Epoch 28/100
450/450 [==============================] - 0s - loss: 0.2762
Epoch 29/100
450/450 [==============================] - 0s - loss: 0.2705
Epoch 30/100
450/450 [==============================] - 0s - loss: 0.2652
Epoch 31/100
450/450 [==============================] - 0s - loss: 0.2601
Epoch 32/100
450/450 [==============================] - 0s - loss: 0.2553
Epoch 33/100
450/450 [==============================] - 0s - loss: 0.2507
Epoch 34/100
450/450 [==============================] - 0s - loss: 0.2463
Epoch 35/100
450/450 [==============================] - 0s - loss: 0.2421
Epoch 36/100
450/450 [==============================] - 0s - loss: 0.2379
Epoch 37/100
450/450 [==============================] - 0s - loss: 0.2339
Epoch 38/100
450/450 [==============================] - 0s - loss: 0.2299
Epoch 39/100
450/450 [==============================] - 0s - loss: 0.2260
Epoch 40/100
450/450 [==============================] - 0s - loss: 0.2221
Epoch 41/100
450/450 [==============================] - 0s - loss: 0.2182
Epoch 42/100
450/450 [==============================] - 0s - loss: 0.2145
Epoch 43/100
450/450 [==============================] - 0s - loss: 0.2108
Epoch 44/100
450/450 [==============================] - 0s - loss: 0.2071
Epoch 45/100
450/450 [==============================] - 0s - loss: 0.2034
Epoch 46/100
450/450 [==============================] - 0s - loss: 0.1998
Epoch 47/100
450/450 [==============================] - 0s - loss: 0.1963
Epoch 48/100
450/450 [==============================] - 0s - loss: 0.1928
Epoch 49/100
450/450 [==============================] - 0s - loss: 0.1894
Epoch 50/100
450/450 [==============================] - 0s - loss: 0.1860
Epoch 51/100
450/450 [==============================] - 0s - loss: 0.1827
Epoch 52/100
450/450 [==============================] - 0s - loss: 0.1794
Epoch 53/100
450/450 [==============================] - 0s - loss: 0.1762
Epoch 54/100
450/450 [==============================] - 0s - loss: 0.1731
Epoch 55/100
450/450 [==============================] - 0s - loss: 0.1701
Epoch 56/100
450/450 [==============================] - 0s - loss: 0.1671
Epoch 57/100
450/450 [==============================] - 0s - loss: 0.1643
Epoch 58/100
450/450 [==============================] - 0s - loss: 0.1615
Epoch 59/100
450/450 [==============================] - 0s - loss: 0.1589
Epoch 60/100
450/450 [==============================] - 0s - loss: 0.1563
Epoch 61/100
450/450 [==============================] - 0s - loss: 0.1538
Epoch 62/100
450/450 [==============================] - 0s - loss: 0.1514
Epoch 63/100
450/450 [==============================] - 0s - loss: 0.1491
Epoch 64/100
450/450 [==============================] - 0s - loss: 0.1468
Epoch 65/100
450/450 [==============================] - 0s - loss: 0.1447
Epoch 66/100
450/450 [==============================] - 0s - loss: 0.1425
Epoch 67/100
450/450 [==============================] - 0s - loss: 0.1404
Epoch 68/100
450/450 [==============================] - 0s - loss: 0.1384
Epoch 69/100
450/450 [==============================] - 0s - loss: 0.1364
Epoch 70/100
450/450 [==============================] - 0s - loss: 0.1344
Epoch 71/100
450/450 [==============================] - 0s - loss: 0.1325
Epoch 72/100
450/450 [==============================] - 0s - loss: 0.1306
Epoch 73/100
450/450 [==============================] - 0s - loss: 0.1287
Epoch 74/100
450/450 [==============================] - 0s - loss: 0.1269
Epoch 75/100
450/450 [==============================] - 0s - loss: 0.1251
Epoch 76/100
450/450 [==============================] - 0s - loss: 0.1233
Epoch 77/100
450/450 [==============================] - 0s - loss: 0.1216
Epoch 78/100
450/450 [==============================] - 0s - loss: 0.1198
Epoch 79/100
450/450 [==============================] - 0s - loss: 0.1180
Epoch 80/100
450/450 [==============================] - 0s - loss: 0.1163
Epoch 81/100
450/450 [==============================] - 0s - loss: 0.1146
Epoch 82/100
450/450 [==============================] - 0s - loss: 0.1128
Epoch 83/100
450/450 [==============================] - 0s - loss: 0.1111
Epoch 84/100
450/450 [==============================] - 0s - loss: 0.1094
Epoch 85/100
450/450 [==============================] - 0s - loss: 0.1077
Epoch 86/100
450/450 [==============================] - 0s - loss: 0.1061
Epoch 87/100
450/450 [==============================] - 0s - loss: 0.1044
Epoch 88/100
450/450 [==============================] - 0s - loss: 0.1027
Epoch 89/100
450/450 [==============================] - 0s - loss: 0.1010
Epoch 90/100
450/450 [==============================] - 0s - loss: 0.0993
Epoch 91/100
450/450 [==============================] - 0s - loss: 0.0976
Epoch 92/100
450/450 [==============================] - 0s - loss: 0.0959
Epoch 93/100
450/450 [==============================] - 0s - loss: 0.0942
Epoch 94/100
450/450 [==============================] - 0s - loss: 0.0925
Epoch 95/100
450/450 [==============================] - 0s - loss: 0.0908
Epoch 96/100
450/450 [==============================] - 0s - loss: 0.0891
Epoch 97/100
450/450 [==============================] - 0s - loss: 0.0875
Epoch 98/100
450/450 [==============================] - 0s - loss: 0.0858
Epoch 99/100
450/450 [==============================] - 0s - loss: 0.0842
Epoch 100/100
450/450 [==============================] - 0s - loss: 0.0826
50/50 [==============================] - 0s
Epoch 1/100
450/450 [==============================] - 0s - loss: 0.7058
Epoch 2/100
450/450 [==============================] - 0s - loss: 0.6855
Epoch 3/100
450/450 [==============================] - 0s - loss: 0.6663
Epoch 4/100
450/450 [==============================] - 0s - loss: 0.6478
Epoch 5/100
450/450 [==============================] - 0s - loss: 0.6299
Epoch 6/100
450/450 [==============================] - 0s - loss: 0.6125
Epoch 7/100
450/450 [==============================] - 0s - loss: 0.5954
Epoch 8/100
450/450 [==============================] - 0s - loss: 0.5785
Epoch 9/100
450/450 [==============================] - 0s - loss: 0.5617
Epoch 10/100
450/450 [==============================] - 0s - loss: 0.5450
Epoch 11/100
450/450 [==============================] - 0s - loss: 0.5282
Epoch 12/100
450/450 [==============================] - 0s - loss: 0.5114
Epoch 13/100
450/450 [==============================] - 0s - loss: 0.4946
Epoch 14/100
450/450 [==============================] - 0s - loss: 0.4777
Epoch 15/100
450/450 [==============================] - 0s - loss: 0.4609
Epoch 16/100
450/450 [==============================] - 0s - loss: 0.4442
Epoch 17/100
450/450 [==============================] - 0s - loss: 0.4277
Epoch 18/100
450/450 [==============================] - 0s - loss: 0.4116
Epoch 19/100
450/450 [==============================] - 0s - loss: 0.3959
Epoch 20/100
450/450 [==============================] - 0s - loss: 0.3808
Epoch 21/100
450/450 [==============================] - 0s - loss: 0.3664
Epoch 22/100
450/450 [==============================] - 0s - loss: 0.3528
Epoch 23/100
450/450 [==============================] - 0s - loss: 0.3401
Epoch 24/100
450/450 [==============================] - 0s - loss: 0.3282
Epoch 25/100
450/450 [==============================] - 0s - loss: 0.3171
Epoch 26/100
450/450 [==============================] - 0s - loss: 0.3068
Epoch 27/100
450/450 [==============================] - 0s - loss: 0.2973
Epoch 28/100
450/450 [==============================] - 0s - loss: 0.2884
Epoch 29/100
450/450 [==============================] - 0s - loss: 0.2802
Epoch 30/100
450/450 [==============================] - 0s - loss: 0.2726
Epoch 31/100
450/450 [==============================] - 0s - loss: 0.2654
Epoch 32/100
450/450 [==============================] - 0s - loss: 0.2586
Epoch 33/100
450/450 [==============================] - 0s - loss: 0.2522
Epoch 34/100
450/450 [==============================] - 0s - loss: 0.2461
Epoch 35/100
450/450 [==============================] - 0s - loss: 0.2402
Epoch 36/100
450/450 [==============================] - 0s - loss: 0.2347
Epoch 37/100
450/450 [==============================] - 0s - loss: 0.2294
Epoch 38/100
450/450 [==============================] - 0s - loss: 0.2244
Epoch 39/100
450/450 [==============================] - 0s - loss: 0.2195
Epoch 40/100
450/450 [==============================] - 0s - loss: 0.2149
Epoch 41/100
450/450 [==============================] - 0s - loss: 0.2104
Epoch 42/100
450/450 [==============================] - 0s - loss: 0.2062
Epoch 43/100
450/450 [==============================] - 0s - loss: 0.2021
Epoch 44/100
450/450 [==============================] - 0s - loss: 0.1981
Epoch 45/100
450/450 [==============================] - 0s - loss: 0.1942
Epoch 46/100
450/450 [==============================] - 0s - loss: 0.1904
Epoch 47/100
450/450 [==============================] - 0s - loss: 0.1868
Epoch 48/100
450/450 [==============================] - 0s - loss: 0.1833
Epoch 49/100
450/450 [==============================] - 0s - loss: 0.1799
Epoch 50/100
450/450 [==============================] - 0s - loss: 0.1766
Epoch 51/100
450/450 [==============================] - 0s - loss: 0.1735
Epoch 52/100
450/450 [==============================] - 0s - loss: 0.1705
Epoch 53/100
450/450 [==============================] - 0s - loss: 0.1675
Epoch 54/100
450/450 [==============================] - 0s - loss: 0.1647
Epoch 55/100
450/450 [==============================] - 0s - loss: 0.1620
Epoch 56/100
450/450 [==============================] - 0s - loss: 0.1593
Epoch 57/100
450/450 [==============================] - 0s - loss: 0.1566
Epoch 58/100
450/450 [==============================] - 0s - loss: 0.1541
Epoch 59/100
450/450 [==============================] - 0s - loss: 0.1515
Epoch 60/100
450/450 [==============================] - 0s - loss: 0.1490
Epoch 61/100
450/450 [==============================] - 0s - loss: 0.1466
Epoch 62/100
450/450 [==============================] - 0s - loss: 0.1443
Epoch 63/100
450/450 [==============================] - 0s - loss: 0.1420
Epoch 64/100
450/450 [==============================] - 0s - loss: 0.1397
Epoch 65/100
450/450 [==============================] - 0s - loss: 0.1375
Epoch 66/100
450/450 [==============================] - 0s - loss: 0.1352
Epoch 67/100
450/450 [==============================] - 0s - loss: 0.1330
Epoch 68/100
450/450 [==============================] - 0s - loss: 0.1308
Epoch 69/100
450/450 [==============================] - 0s - loss: 0.1286
Epoch 70/100
450/450 [==============================] - 0s - loss: 0.1264
Epoch 71/100
450/450 [==============================] - 0s - loss: 0.1243
Epoch 72/100
450/450 [==============================] - 0s - loss: 0.1221
Epoch 73/100
450/450 [==============================] - 0s - loss: 0.1200
Epoch 74/100
450/450 [==============================] - 0s - loss: 0.1179
Epoch 75/100
450/450 [==============================] - 0s - loss: 0.1159
Epoch 76/100
450/450 [==============================] - 0s - loss: 0.1138
Epoch 77/100
450/450 [==============================] - 0s - loss: 0.1118
Epoch 78/100
450/450 [==============================] - 0s - loss: 0.1098
Epoch 79/100
450/450 [==============================] - 0s - loss: 0.1078
Epoch 80/100
450/450 [==============================] - 0s - loss: 0.1058
Epoch 81/100
450/450 [==============================] - 0s - loss: 0.1038
Epoch 82/100
450/450 [==============================] - 0s - loss: 0.1018
Epoch 83/100
450/450 [==============================] - 0s - loss: 0.0999
Epoch 84/100
450/450 [==============================] - 0s - loss: 0.0980
Epoch 85/100
450/450 [==============================] - 0s - loss: 0.0961
Epoch 86/100
450/450 [==============================] - 0s - loss: 0.0941
Epoch 87/100
450/450 [==============================] - 0s - loss: 0.0922
Epoch 88/100
450/450 [==============================] - 0s - loss: 0.0903
Epoch 89/100
450/450 [==============================] - 0s - loss: 0.0884
Epoch 90/100
450/450 [==============================] - 0s - loss: 0.0866
Epoch 91/100
450/450 [==============================] - 0s - loss: 0.0847
Epoch 92/100
450/450 [==============================] - 0s - loss: 0.0829
Epoch 93/100
450/450 [==============================] - 0s - loss: 0.0811
Epoch 94/100
450/450 [==============================] - 0s - loss: 0.0793
Epoch 95/100
450/450 [==============================] - 0s - loss: 0.0775
Epoch 96/100
450/450 [==============================] - 0s - loss: 0.0757
Epoch 97/100
450/450 [==============================] - 0s - loss: 0.0740
Epoch 98/100
450/450 [==============================] - 0s - loss: 0.0723
Epoch 99/100
450/450 [==============================] - 0s - loss: 0.0706
Epoch 100/100
450/450 [==============================] - 0s - loss: 0.0689
50/50 [==============================] - 0s
Epoch 1/100
450/450 [==============================] - 0s - loss: 0.7253
Epoch 2/100
450/450 [==============================] - 0s - loss: 0.7053
Epoch 3/100
450/450 [==============================] - 0s - loss: 0.6864
Epoch 4/100
450/450 [==============================] - 0s - loss: 0.6685
Epoch 5/100
450/450 [==============================] - 0s - loss: 0.6513
Epoch 6/100
450/450 [==============================] - 0s - loss: 0.6347
Epoch 7/100
450/450 [==============================] - 0s - loss: 0.6184
Epoch 8/100
450/450 [==============================] - 0s - loss: 0.6023
Epoch 9/100
450/450 [==============================] - 0s - loss: 0.5864
Epoch 10/100
450/450 [==============================] - 0s - loss: 0.5705
Epoch 11/100
450/450 [==============================] - 0s - loss: 0.5545
Epoch 12/100
450/450 [==============================] - 0s - loss: 0.5383
Epoch 13/100
450/450 [==============================] - 0s - loss: 0.5220
Epoch 14/100
450/450 [==============================] - 0s - loss: 0.5056
Epoch 15/100
450/450 [==============================] - 0s - loss: 0.4890
Epoch 16/100
450/450 [==============================] - 0s - loss: 0.4723
Epoch 17/100
450/450 [==============================] - 0s - loss: 0.4556
Epoch 18/100
450/450 [==============================] - 0s - loss: 0.4390
Epoch 19/100
450/450 [==============================] - 0s - loss: 0.4226
Epoch 20/100
450/450 [==============================] - 0s - loss: 0.4064
Epoch 21/100
450/450 [==============================] - 0s - loss: 0.3907
Epoch 22/100
450/450 [==============================] - 0s - loss: 0.3755
Epoch 23/100
450/450 [==============================] - 0s - loss: 0.3610
Epoch 24/100
450/450 [==============================] - 0s - loss: 0.3471
Epoch 25/100
450/450 [==============================] - 0s - loss: 0.3340
Epoch 26/100
450/450 [==============================] - 0s - loss: 0.3217
Epoch 27/100
450/450 [==============================] - 0s - loss: 0.3103
Epoch 28/100
450/450 [==============================] - 0s - loss: 0.2997
Epoch 29/100
450/450 [==============================] - 0s - loss: 0.2898
Epoch 30/100
450/450 [==============================] - 0s - loss: 0.2805
Epoch 31/100
450/450 [==============================] - 0s - loss: 0.2719
Epoch 32/100
450/450 [==============================] - 0s - loss: 0.2639
Epoch 33/100
450/450 [==============================] - 0s - loss: 0.2565
Epoch 34/100
450/450 [==============================] - 0s - loss: 0.2495
Epoch 35/100
450/450 [==============================] - 0s - loss: 0.2430
Epoch 36/100
450/450 [==============================] - 0s - loss: 0.2368
Epoch 37/100
450/450 [==============================] - 0s - loss: 0.2310
Epoch 38/100
450/450 [==============================] - 0s - loss: 0.2255
Epoch 39/100
450/450 [==============================] - 0s - loss: 0.2203
Epoch 40/100
450/450 [==============================] - 0s - loss: 0.2154
Epoch 41/100
450/450 [==============================] - 0s - loss: 0.2106
Epoch 42/100
450/450 [==============================] - 0s - loss: 0.2060
Epoch 43/100
450/450 [==============================] - 0s - loss: 0.2016
Epoch 44/100
450/450 [==============================] - 0s - loss: 0.1973
Epoch 45/100
450/450 [==============================] - 0s - loss: 0.1932
Epoch 46/100
450/450 [==============================] - 0s - loss: 0.1892
Epoch 47/100
450/450 [==============================] - 0s - loss: 0.1855
Epoch 48/100
450/450 [==============================] - 0s - loss: 0.1819
Epoch 49/100
450/450 [==============================] - 0s - loss: 0.1784
Epoch 50/100
450/450 [==============================] - 0s - loss: 0.1752
Epoch 51/100
450/450 [==============================] - 0s - loss: 0.1720
Epoch 52/100
450/450 [==============================] - 0s - loss: 0.1689
Epoch 53/100
450/450 [==============================] - 0s - loss: 0.1660
Epoch 54/100
450/450 [==============================] - 0s - loss: 0.1632
Epoch 55/100
450/450 [==============================] - 0s - loss: 0.1604
Epoch 56/100
450/450 [==============================] - 0s - loss: 0.1577
Epoch 57/100
450/450 [==============================] - 0s - loss: 0.1550
Epoch 58/100
450/450 [==============================] - 0s - loss: 0.1524
Epoch 59/100
450/450 [==============================] - 0s - loss: 0.1498
Epoch 60/100
450/450 [==============================] - 0s - loss: 0.1472
Epoch 61/100
450/450 [==============================] - 0s - loss: 0.1446
Epoch 62/100
450/450 [==============================] - 0s - loss: 0.1421
Epoch 63/100
450/450 [==============================] - 0s - loss: 0.1396
Epoch 64/100
450/450 [==============================] - 0s - loss: 0.1371
Epoch 65/100
450/450 [==============================] - 0s - loss: 0.1347
Epoch 66/100
450/450 [==============================] - 0s - loss: 0.1323
Epoch 67/100
450/450 [==============================] - 0s - loss: 0.1300
Epoch 68/100
450/450 [==============================] - 0s - loss: 0.1276
Epoch 69/100
450/450 [==============================] - 0s - loss: 0.1253
Epoch 70/100
450/450 [==============================] - 0s - loss: 0.1229
Epoch 71/100
450/450 [==============================] - 0s - loss: 0.1206
Epoch 72/100
450/450 [==============================] - 0s - loss: 0.1183
Epoch 73/100
450/450 [==============================] - 0s - loss: 0.1161
Epoch 74/100
450/450 [==============================] - 0s - loss: 0.1138
Epoch 75/100
450/450 [==============================] - 0s - loss: 0.1116
Epoch 76/100
450/450 [==============================] - 0s - loss: 0.1094
Epoch 77/100
450/450 [==============================] - 0s - loss: 0.1073
Epoch 78/100
450/450 [==============================] - 0s - loss: 0.1052
Epoch 79/100
450/450 [==============================] - 0s - loss: 0.1031
Epoch 80/100
450/450 [==============================] - 0s - loss: 0.1011
Epoch 81/100
450/450 [==============================] - 0s - loss: 0.0992
Epoch 82/100
450/450 [==============================] - 0s - loss: 0.0972
Epoch 83/100
450/450 [==============================] - 0s - loss: 0.0952
Epoch 84/100
450/450 [==============================] - 0s - loss: 0.0933
Epoch 85/100
450/450 [==============================] - 0s - loss: 0.0914
Epoch 86/100
450/450 [==============================] - 0s - loss: 0.0895
Epoch 87/100
450/450 [==============================] - 0s - loss: 0.0876
Epoch 88/100
450/450 [==============================] - 0s - loss: 0.0858
Epoch 89/100
450/450 [==============================] - 0s - loss: 0.0839
Epoch 90/100
450/450 [==============================] - 0s - loss: 0.0821
Epoch 91/100
450/450 [==============================] - 0s - loss: 0.0803
Epoch 92/100
450/450 [==============================] - 0s - loss: 0.0785
Epoch 93/100
450/450 [==============================] - 0s - loss: 0.0768
Epoch 94/100
450/450 [==============================] - 0s - loss: 0.0751
Epoch 95/100
450/450 [==============================] - 0s - loss: 0.0734
Epoch 96/100
450/450 [==============================] - 0s - loss: 0.0717
Epoch 97/100
450/450 [==============================] - 0s - loss: 0.0701
Epoch 98/100
450/450 [==============================] - 0s - loss: 0.0685
Epoch 99/100
450/450 [==============================] - 0s - loss: 0.0669
Epoch 100/100
450/450 [==============================] - 0s - loss: 0.0654
50/50 [==============================] - 0s
Epoch 1/100
450/450 [==============================] - 0s - loss: 0.6767
Epoch 2/100
450/450 [==============================] - 0s - loss: 0.6589
Epoch 3/100
450/450 [==============================] - 0s - loss: 0.6413
Epoch 4/100
450/450 [==============================] - 0s - loss: 0.6238
Epoch 5/100
450/450 [==============================] - 0s - loss: 0.6063
Epoch 6/100
450/450 [==============================] - 0s - loss: 0.5885
Epoch 7/100
450/450 [==============================] - 0s - loss: 0.5706
Epoch 8/100
450/450 [==============================] - 0s - loss: 0.5524
Epoch 9/100
450/450 [==============================] - 0s - loss: 0.5339
Epoch 10/100
450/450 [==============================] - 0s - loss: 0.5152
Epoch 11/100
450/450 [==============================] - 0s - loss: 0.4961
Epoch 12/100
450/450 [==============================] - 0s - loss: 0.4769
Epoch 13/100
450/450 [==============================] - 0s - loss: 0.4577
Epoch 14/100
450/450 [==============================] - 0s - loss: 0.4384
Epoch 15/100
450/450 [==============================] - 0s - loss: 0.4194
Epoch 16/100
450/450 [==============================] - 0s - loss: 0.4007
Epoch 17/100
450/450 [==============================] - 0s - loss: 0.3824
Epoch 18/100
450/450 [==============================] - 0s - loss: 0.3648
Epoch 19/100
450/450 [==============================] - 0s - loss: 0.3480
Epoch 20/100
450/450 [==============================] - 0s - loss: 0.3321
Epoch 21/100
450/450 [==============================] - 0s - loss: 0.3173
Epoch 22/100
450/450 [==============================] - 0s - loss: 0.3036
Epoch 23/100
450/450 [==============================] - 0s - loss: 0.2910
Epoch 24/100
450/450 [==============================] - 0s - loss: 0.2794
Epoch 25/100
450/450 [==============================] - 0s - loss: 0.2689
Epoch 26/100
450/450 [==============================] - 0s - loss: 0.2594
Epoch 27/100
450/450 [==============================] - 0s - loss: 0.2508
Epoch 28/100
450/450 [==============================] - 0s - loss: 0.2429
Epoch 29/100
450/450 [==============================] - 0s - loss: 0.2357
Epoch 30/100
450/450 [==============================] - 0s - loss: 0.2290
Epoch 31/100
450/450 [==============================] - 0s - loss: 0.2229
Epoch 32/100
450/450 [==============================] - 0s - loss: 0.2171
Epoch 33/100
450/450 [==============================] - 0s - loss: 0.2118
Epoch 34/100
450/450 [==============================] - 0s - loss: 0.2068
Epoch 35/100
450/450 [==============================] - 0s - loss: 0.2022
Epoch 36/100
450/450 [==============================] - 0s - loss: 0.1979
Epoch 37/100
450/450 [==============================] - 0s - loss: 0.1939
Epoch 38/100
450/450 [==============================] - 0s - loss: 0.1903
Epoch 39/100
450/450 [==============================] - 0s - loss: 0.1870
Epoch 40/100
450/450 [==============================] - 0s - loss: 0.1838
Epoch 41/100
450/450 [==============================] - 0s - loss: 0.1808
Epoch 42/100
450/450 [==============================] - 0s - loss: 0.1778
Epoch 43/100
450/450 [==============================] - 0s - loss: 0.1749
Epoch 44/100
450/450 [==============================] - 0s - loss: 0.1720
Epoch 45/100
450/450 [==============================] - 0s - loss: 0.1692
Epoch 46/100
450/450 [==============================] - 0s - loss: 0.1664
Epoch 47/100
450/450 [==============================] - 0s - loss: 0.1638
Epoch 48/100
450/450 [==============================] - 0s - loss: 0.1612
Epoch 49/100
450/450 [==============================] - 0s - loss: 0.1587
Epoch 50/100
450/450 [==============================] - 0s - loss: 0.1562
Epoch 51/100
450/450 [==============================] - 0s - loss: 0.1538
Epoch 52/100
450/450 [==============================] - 0s - loss: 0.1513
Epoch 53/100
450/450 [==============================] - 0s - loss: 0.1489
Epoch 54/100
450/450 [==============================] - 0s - loss: 0.1465
Epoch 55/100
450/450 [==============================] - 0s - loss: 0.1442
Epoch 56/100
450/450 [==============================] - 0s - loss: 0.1419
Epoch 57/100
450/450 [==============================] - 0s - loss: 0.1396
Epoch 58/100
450/450 [==============================] - 0s - loss: 0.1373
Epoch 59/100
450/450 [==============================] - 0s - loss: 0.1350
Epoch 60/100
450/450 [==============================] - 0s - loss: 0.1328
Epoch 61/100
450/450 [==============================] - 0s - loss: 0.1305
Epoch 62/100
450/450 [==============================] - 0s - loss: 0.1283
Epoch 63/100
450/450 [==============================] - 0s - loss: 0.1261
Epoch 64/100
450/450 [==============================] - 0s - loss: 0.1239
Epoch 65/100
450/450 [==============================] - 0s - loss: 0.1217
Epoch 66/100
450/450 [==============================] - 0s - loss: 0.1196
Epoch 67/100
450/450 [==============================] - 0s - loss: 0.1174
Epoch 68/100
450/450 [==============================] - 0s - loss: 0.1153
Epoch 69/100
450/450 [==============================] - 0s - loss: 0.1132
Epoch 70/100
450/450 [==============================] - 0s - loss: 0.1112
Epoch 71/100
450/450 [==============================] - 0s - loss: 0.1091
Epoch 72/100
450/450 [==============================] - 0s - loss: 0.1072
Epoch 73/100
450/450 [==============================] - 0s - loss: 0.1052
Epoch 74/100
450/450 [==============================] - 0s - loss: 0.1033
Epoch 75/100
450/450 [==============================] - 0s - loss: 0.1013
Epoch 76/100
450/450 [==============================] - 0s - loss: 0.0994
Epoch 77/100
450/450 [==============================] - 0s - loss: 0.0975
Epoch 78/100
450/450 [==============================] - 0s - loss: 0.0955
Epoch 79/100
450/450 [==============================] - 0s - loss: 0.0936
Epoch 80/100
450/450 [==============================] - 0s - loss: 0.0918
Epoch 81/100
450/450 [==============================] - 0s - loss: 0.0899
Epoch 82/100
450/450 [==============================] - 0s - loss: 0.0882
Epoch 83/100
450/450 [==============================] - 0s - loss: 0.0864
Epoch 84/100
450/450 [==============================] - 0s - loss: 0.0847
Epoch 85/100
450/450 [==============================] - 0s - loss: 0.0829
Epoch 86/100
450/450 [==============================] - 0s - loss: 0.0812
Epoch 87/100
450/450 [==============================] - 0s - loss: 0.0795
Epoch 88/100
450/450 [==============================] - 0s - loss: 0.0779
Epoch 89/100
450/450 [==============================] - 0s - loss: 0.0762
Epoch 90/100
450/450 [==============================] - 0s - loss: 0.0746
Epoch 91/100
450/450 [==============================] - 0s - loss: 0.0729
Epoch 92/100
450/450 [==============================] - 0s - loss: 0.0713
Epoch 93/100
450/450 [==============================] - 0s - loss: 0.0698
Epoch 94/100
450/450 [==============================] - 0s - loss: 0.0682
Epoch 95/100
450/450 [==============================] - 0s - loss: 0.0667
Epoch 96/100
450/450 [==============================] - 0s - loss: 0.0652
Epoch 97/100
450/450 [==============================] - 0s - loss: 0.0638
Epoch 98/100
450/450 [==============================] - 0s - loss: 0.0623
Epoch 99/100
450/450 [==============================] - 0s - loss: 0.0609
Epoch 100/100
450/450 [==============================] - 0s - loss: 0.0595
50/50 [==============================] - 0s
('Results:', array([ 0.84281843, 0.86904762, 0.87412587, 0.94638695, 0.8699187 ,
0.8699187 , 0.88043478, 0.93478261, 0.94047619, 1. ]))
Results: 0.902790984789924366715752 (0.046916760520874796480673) ROC
Pipeline(steps=[('standardize', StandardScaler(copy=True, with_mean=True, with_std=True)), ('mlp', <keras.wrappers.scikit_learn.KerasClassifier object at 0x7fe6840ca490>)])
In [126]:
estimators = []
estimators.append(('standardize', StandardScaler()))
estimators.append(('mlp', KerasClassifier(build_fn=mlp_model_wrap, batch_size=10000, verbose=0)))
pipeline = Pipeline(estimators)#
pipeline.set_params(mlp__layers=1)
pipeline.set_params(mlp__hidden=100)
pipeline.set_params(mlp__nb_epoch=30)
Out[126]:
Pipeline(steps=[('standardize', StandardScaler(copy=True, with_mean=True, with_std=True)), ('mlp', <keras.wrappers.scikit_learn.KerasClassifier object at 0x7fe63c999090>)])
In [ ]:
In [123]:
mlp_model_wrap.__call__
Out[123]:
<method-wrapper '__call__' of function object at 0x7fe63b2e46e0>
In [127]:
score_means_l = list()
score_stds_l = list()
layers = range(20)
kfold = KFold(n_splits=3, random_state=seed)
for l in layers:
pipeline.set_params(mlp__layers=l)
this_scores = cross_val_score(pipeline, X, Y, cv=kfold, scoring='roc_auc',n_jobs=1)
score_means_l.append(this_scores.mean())
score_stds_l.append(this_scores.std())
title = 'Performance of the MLP with Increasing layers'
fig = plt.figure()
plt.errorbar(layers, score_means_l, np.array(score_stds_l))
plt.title(title)
plt.xlabel('number of layers')
plt.ylabel('AUC')
plt.axis('tight')
plt.show()
fig.savefig("/home/botty/Documents/CCFD/figures/analysis/"+title)
In [134]:
score_means_l = list()
score_stds_l = list()
layers = range(20)
kfold = KFold(n_splits=3, random_state=seed)
pipeline.set_params(mlp__nb_epoch=100)
for l in layers:
pipeline.set_params(mlp__layers=l)
this_scores = cross_val_score(pipeline, X, Y, cv=kfold, scoring='roc_auc',n_jobs=1)
score_means_l.append(this_scores.mean())
score_stds_l.append(this_scores.std())
title = 'Performance of the MLP with Increasing layers'
fig = plt.figure()
plt.errorbar(layers, score_means_l, np.array(score_stds_l))
plt.title(title)
plt.xlabel('number of layers')
plt.ylabel('AUC')
plt.axis('tight')
plt.show()
fig.savefig("/home/botty/Documents/CCFD/figures/analysis/"+title)
In [119]:
len(score_means_l)
Out[119]:
9
In [121]:
title = 'Performance of the MLP with Increasing layers'
fig = plt.figure()
plt.errorbar(layers[0:9], score_means_l, np.array(score_stds_l))
plt.title(title)
plt.xlabel('number of layers')
plt.ylabel('AUC')
plt.axis('tight')
plt.show()
fig.savefig("/home/botty/Documents/CCFD/figures/analysis/"+title)
In [102]:
layers = range(20)
score_means = range(20)
score_stds = range(20)
title = 'Performance of the MLP with Increasing layers'
fig = plt.figure()
plt.errorbar(layers, score_means, np.array(score_stds))
hold on;
plt.title(title)
plt.xlabel('number of layers')
plt.ylabel('AUC')
plt.axis('tight')
plt.show()
fig.savefig("/home/botty/Documents/CCFD/figures/analysis/"+title)
In [ ]:
score_means = list()
score_stds = list()
layers = [50,75,100,125,150,200,400,800,1000,2000]
kfold = KFold(n_splits=3, random_state=seed)
for l in layers:
pipeline.set_params(mlp__hidden=l)
this_scores = cross_val_score(pipeline, X, Y, cv=kfold, scoring='roc_auc',n_jobs=1)
score_means.append(this_scores.mean())
score_stds.append(this_scores.std())
title = "Performance of the MLP with Increasing Hidden Layer Sizes"
fig = plt.figure()
plt.errorbar(layers, score_means, np.array(score_stds))
plt.title(title)
plt.xlabel('Number of neurons')
plt.ylabel('AUC')
plt.axis('tight')
plt.show()
fig.savefig("/home/botty/Documents/CCFD/figures/analysis/"+title)
In [133]:
##TODO
layers = range(20)
title = "Depth vs Width"
fig = plt.figure()
plt.errorbar(layers, score_means_l, np.array(score_stds_l))
# layers = [50,75,100,125,150,200,400,800,1000,2000]
layers = range(10)
plt.errorbar(layers, score_means, np.array(score_stds))
plt.title(title)
plt.xlabel('Number of neurons')
plt.ylabel('AUC')
plt.axis('tight')
plt.show()
fig.savefig("/home/botty/Documents/CCFD/figures/analysis/"+title)
In [132]:
score_means
Out[132]:
[0.96509850353803583,
0.96432110658286907,
0.96459139549372297,
0.96431339234768265,
0.96443099137947585,
0.96461352025742786,
0.96503427906738759,
0.96505747394499242,
0.96537370378549081,
0.96506753180677673]
In [75]:
pipeline.fit(X,Y)
Out[75]:
array([[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 4.15100703e-38],
[ 7.50741765e-16, 1.00000000e+00],
[ 1.00000000e+00, 1.28349090e-31],
[ 1.03367141e-12, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 3.44401818e-19],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 7.68958149e-17],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 2.80259693e-45],
[ 1.00000000e+00, 0.00000000e+00],
[ 9.46300762e-16, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 7.63881516e-35],
[ 2.88253332e-16, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.29693489e-12],
[ 1.00000000e+00, 2.99683493e-23],
[ 6.74112971e-06, 9.99993205e-01],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.98659918e-30],
[ 1.00000000e+00, 5.69340712e-12],
[ 1.64510044e-10, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 7.52089702e-14, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.68975828e-38],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.66031299e-14],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.54142831e-43],
[ 1.00000000e+00, 2.40280248e-24],
[ 1.00000000e+00, 2.08438887e-12],
[ 1.00000000e+00, 9.43409898e-39],
[ 1.00000000e+00, 2.24387294e-25],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 4.20242277e-30],
[ 1.92447301e-29, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 4.04057755e-14, 1.00000000e+00],
[ 1.00000000e+00, 1.75372907e-08],
[ 1.00000000e+00, 0.00000000e+00],
[ 2.91270177e-36, 1.00000000e+00],
[ 1.00000000e+00, 7.46958380e-34],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.83709947e-24, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 2.87933726e-22, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 7.79466908e-15],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 2.64484032e-37],
[ 1.00000000e+00, 3.22298647e-44],
[ 1.00000000e+00, 1.68073027e-33],
[ 1.00000000e+00, 4.77902568e-28],
[ 1.00000000e+00, 0.00000000e+00],
[ 9.99983788e-01, 1.62543638e-05],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 7.55491906e-20],
[ 1.00000000e+00, 0.00000000e+00],
[ 9.99920845e-01, 7.91973725e-05],
[ 2.86148210e-12, 1.00000000e+00],
[ 7.57377971e-23, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.24329708e-28],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.24673384e-39],
[ 1.00000000e+00, 2.99708454e-39],
[ 4.59193446e-19, 1.00000000e+00],
[ 1.81748460e-31, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 3.79739614e-24],
[ 9.99999404e-01, 5.63725052e-07],
[ 1.00000000e+00, 3.48831622e-32],
[ 1.00000000e+00, 1.04475830e-14],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 4.47287041e-10, 1.00000000e+00],
[ 1.33344294e-10, 1.00000000e+00],
[ 1.00000000e+00, 9.34545566e-22],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 1.00000000e+00],
[ 1.00000000e+00, 8.67302151e-30],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.62826523e-36],
[ 1.84042473e-12, 1.00000000e+00],
[ 3.37947587e-10, 1.00000000e+00],
[ 1.00000000e+00, 3.92362432e-15],
[ 8.57039787e-25, 1.00000000e+00],
[ 1.00000000e+00, 1.75501799e-26],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 6.79026659e-13],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 2.63966436e-11, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.25930531e-30],
[ 1.00000000e+00, 7.95577898e-37],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.88406456e-28],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 4.34402524e-44],
[ 1.00000000e+00, 1.15154774e-35],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.79259840e-33],
[ 1.53200843e-13, 1.00000000e+00],
[ 3.37675224e-24, 1.00000000e+00],
[ 1.90974766e-18, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.09925708e-12],
[ 1.00000000e+00, 4.35840362e-32],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.37349092e-16],
[ 1.00000000e+00, 2.10194770e-44],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 8.51358969e-28],
[ 1.00000000e+00, 2.44302874e-29],
[ 1.00000000e+00, 1.79663697e-11],
[ 3.36288025e-10, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 7.26146126e-17],
[ 1.58506009e-27, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 9.99990940e-01, 9.09397659e-06],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 9.99999762e-01, 2.23654993e-07],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 3.59632179e-29],
[ 2.13016147e-17, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.22727575e-28],
[ 2.06511864e-18, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 7.14662217e-44],
[ 1.00000000e+00, 2.37600267e-26],
[ 1.00000000e+00, 1.37547253e-40],
[ 1.00000000e+00, 4.90447423e-32],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.69510313e-24],
[ 9.99999881e-01, 1.25177635e-07],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 8.40779079e-45],
[ 6.20474939e-12, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 2.81783619e-14, 1.00000000e+00],
[ 1.00000000e+00, 2.92634241e-30],
[ 1.00000000e+00, 9.79242198e-22],
[ 9.99953866e-01, 4.61199597e-05],
[ 1.00000000e+00, 3.73555931e-38],
[ 1.04952830e-13, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.66279201e-32, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 5.34035961e-30, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 5.38319837e-19, 1.00000000e+00],
[ 4.44021483e-24, 1.00000000e+00],
[ 0.00000000e+00, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 5.08752721e-32],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.46991983e-08],
[ 1.00000000e+00, 2.67356914e-10],
[ 1.00000000e+00, 1.03152513e-11],
[ 1.00000000e+00, 1.18952462e-22],
[ 9.99999404e-01, 6.24210543e-07],
[ 1.00000000e+00, 0.00000000e+00],
[ 4.53015046e-27, 1.00000000e+00],
[ 1.00000000e+00, 3.49436454e-16],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 9.99999881e-01, 8.69073773e-08],
[ 1.00000000e+00, 1.73458850e-29],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 4.46036353e-25],
[ 9.99999881e-01, 1.15816782e-07],
[ 1.70692651e-08, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 4.29454303e-06, 9.99995708e-01],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 2.74448856e-36],
[ 1.00000000e+00, 2.80259693e-45],
[ 2.37587556e-26, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 2.34890693e-39],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.28636522e-13, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 4.21100538e-24, 1.00000000e+00],
[ 1.00000000e+00, 7.11579077e-34],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.97756027e-26, 1.00000000e+00],
[ 1.00000000e+00, 2.00022046e-13],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 3.02818910e-35, 1.00000000e+00],
[ 9.99988079e-01, 1.19376191e-05],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.90995946e-25],
[ 1.00000000e+00, 1.56642107e-26],
[ 1.00000000e+00, 3.86843390e-34],
[ 1.00000000e+00, 1.60991812e-33],
[ 1.00000000e+00, 2.90068782e-43],
[ 1.27497980e-17, 1.00000000e+00],
[ 1.00000000e+00, 5.36176008e-27],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.40129846e-45],
[ 1.00000000e+00, 8.30171721e-23],
[ 1.00000000e+00, 0.00000000e+00],
[ 2.06663214e-10, 1.00000000e+00],
[ 1.00000000e+00, 1.55441744e-23],
[ 1.00000000e+00, 5.12794946e-35],
[ 2.30510628e-19, 1.00000000e+00],
[ 1.00000000e+00, 1.71392815e-41],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 7.55538681e-26],
[ 1.00000000e+00, 1.36292119e-32],
[ 1.00000000e+00, 2.03914792e-30],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.04472033e-33],
[ 2.18863296e-12, 1.00000000e+00],
[ 1.00000000e+00, 2.46280387e-26],
[ 1.00000000e+00, 4.71451552e-33],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 5.39087348e-23],
[ 0.00000000e+00, 1.00000000e+00],
[ 1.00000000e+00, 1.40265008e-08],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 3.31221040e-24],
[ 1.00000000e+00, 1.84831267e-42],
[ 8.86751348e-18, 1.00000000e+00],
[ 3.51706291e-21, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 2.95509545e-29, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 7.46892081e-43],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.37632272e-09],
[ 7.89319959e-23, 1.00000000e+00],
[ 1.00000000e+00, 3.05349322e-32],
[ 1.00000000e+00, 3.98700087e-34],
[ 9.14023048e-28, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.02916035e-31],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.40129846e-44],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 3.74146690e-43],
[ 1.00000000e+00, 2.48931613e-08],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 2.22374521e-18],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.40129846e-45],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 2.82564219e-20, 1.00000000e+00],
[ 1.00000000e+00, 4.40708367e-42],
[ 1.00000000e+00, 1.50901250e-33],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 3.02455061e-10],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 7.67626197e-13],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 2.69803002e-25],
[ 2.64519804e-06, 9.99997377e-01],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 3.30855825e-18],
[ 6.70196788e-22, 1.00000000e+00],
[ 1.00000000e+00, 3.26041660e-21],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 3.23255379e-35],
[ 1.00000000e+00, 2.84920412e-40],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 4.98504946e-19],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 2.85387882e-23],
[ 1.00000000e+00, 2.08660202e-33],
[ 1.00000000e+00, 2.54210593e-19],
[ 1.00000000e+00, 4.33785040e-33],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.40129846e-45],
[ 9.99997735e-01, 2.21855953e-06],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 4.13046735e-41],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 7.58943248e-42],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 7.36855636e-32],
[ 1.00000000e+00, 2.27598722e-31],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 7.94590880e-40],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.32137860e-14],
[ 1.00000000e+00, 1.69593570e-26],
[ 3.33527419e-06, 9.99996662e-01],
[ 0.00000000e+00, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 4.61278935e-35],
[ 1.00000000e+00, 3.29305139e-43],
[ 1.00000000e+00, 1.79305548e-08],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 3.13129890e-32],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 8.14728940e-41],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 4.20389539e-45],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.98290464e-11],
[ 1.56200244e-30, 1.00000000e+00],
[ 1.67883259e-19, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 2.98107714e-16],
[ 1.00000000e+00, 0.00000000e+00],
[ 9.99988556e-01, 1.14426130e-05],
[ 1.00000000e+00, 8.08218423e-12],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.12022881e-15],
[ 1.00000000e+00, 9.74179470e-28],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 4.75621671e-29],
[ 7.57349262e-05, 9.99924302e-01],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 5.50662101e-16],
[ 9.99999762e-01, 2.05551558e-07],
[ 1.00000000e+00, 6.62060506e-29],
[ 5.74043927e-15, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 3.69723160e-27],
[ 1.00000000e+00, 5.25810624e-40],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 3.67493169e-34],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.42885590e-27],
[ 1.00000000e+00, 1.40129846e-45],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.66667246e-06, 9.99998331e-01],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.64439394e-22],
[ 9.99991179e-01, 8.78434548e-06],
[ 1.00000000e+00, 2.97239311e-14],
[ 1.00000000e+00, 1.46015300e-42],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.12969074e-31],
[ 9.99999046e-01, 8.95496839e-07],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 8.65414407e-09, 1.00000000e+00],
[ 1.00000000e+00, 5.02889742e-36],
[ 6.45058659e-13, 1.00000000e+00],
[ 1.00000000e+00, 5.07879880e-18],
[ 1.07124656e-11, 1.00000000e+00],
[ 1.00000000e+00, 1.40173539e-38],
[ 1.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 1.00000000e+00],
[ 5.00300514e-30, 1.00000000e+00],
[ 1.00000000e+00, 1.16295749e-38],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.33554113e-39],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.92188084e-41],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 4.74534421e-36],
[ 1.00000000e+00, 5.82470939e-35],
[ 1.00000000e+00, 0.00000000e+00],
[ 2.52779875e-23, 1.00000000e+00],
[ 1.00000000e+00, 3.44272809e-28],
[ 9.99902129e-01, 9.78613461e-05],
[ 1.00000000e+00, 0.00000000e+00],
[ 4.40103496e-27, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.40147242e-17, 1.00000000e+00],
[ 1.00000000e+00, 3.46013149e-22],
[ 1.00000000e+00, 7.21897484e-34],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 2.81108297e-14],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 5.52299109e-15],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 9.02651478e-12],
[ 1.00000000e+00, 5.29206414e-26],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.47865309e-09],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 2.17664547e-25],
[ 1.00000000e+00, 2.82337863e-28],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 6.77850109e-10],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 6.70778058e-35],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 6.65258704e-05, 9.99933481e-01],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.22373020e-16],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00]], dtype=float32)
In [79]:
y_pred = pipeline.predict_proba(X)
In [86]:
y_pred[0:50,:]
Out[86]:
array([[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 4.15100703e-38],
[ 7.50741765e-16, 1.00000000e+00],
[ 1.00000000e+00, 1.28349090e-31],
[ 1.03367141e-12, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 3.44401818e-19],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 7.68958149e-17],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 2.80259693e-45],
[ 1.00000000e+00, 0.00000000e+00],
[ 9.46300762e-16, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 7.63881516e-35],
[ 2.88253332e-16, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.29693489e-12],
[ 1.00000000e+00, 2.99683493e-23],
[ 6.74112971e-06, 9.99993205e-01],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.98659918e-30],
[ 1.00000000e+00, 5.69340712e-12],
[ 1.64510044e-10, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 7.52089702e-14, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.68975828e-38],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.66031299e-14],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.54142831e-43],
[ 1.00000000e+00, 2.40280248e-24],
[ 1.00000000e+00, 2.08438887e-12],
[ 1.00000000e+00, 9.43409898e-39],
[ 1.00000000e+00, 2.24387294e-25],
[ 1.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 4.20242277e-30],
[ 1.92447301e-29, 1.00000000e+00],
[ 1.00000000e+00, 0.00000000e+00],
[ 4.04057755e-14, 1.00000000e+00],
[ 1.00000000e+00, 1.75372907e-08]], dtype=float32)
In [89]:
target_names = ["Genuine", "Fraud"]
y_test = Y
fpr,tpr,tresholds = roc_curve(y_test[:,0],y_pred[:,0])
print(auc(fpr, tpr))
# print(classification_report(y_test, y_pred, target_names=target_names))
# print(confusion_matrix(y_test, y_pred, labels=range(n_classes)))
1.0
In [90]:
fpr,tpr
Out[90]:
(array([ 0. , 0. , 0. , 0. , 0.90909091, 1. ]),
array([ 0.95981087, 0.96690307, 0.97635934, 1. , 1. , 1. ]))
In [ ]:
Content source: bottydim/detect-credit-card-fraud
Similar notebooks: