In [30]:
# first neural network with keras tutorial
from keras.models import Sequential
from keras.layers import Dense
import pandas as pd
import numpy as np
import pickle
In [31]:
data = pd.read_csv("hypermutated.csv",header=None) 
data.shape
small = data.dropna()
small.shape
X = small.iloc[:,0:4].values
y = small.iloc[:,4].values
In [32]:
print(data)
          0       1       2       3  4
0    0.9908 -0.6535  0.6548 -2.2655  0
1   -0.3444  0.5817  1.8871 -1.2221  0
2    0.1206  0.9814  1.1101 -1.1757  0
3    0.9666 -0.1179  0.5870  0.2025  0
4   -0.3356  1.3352  1.5351 -0.6308  0
..      ...     ...     ...     ... ..
202  0.0534 -0.5856 -0.2344 -0.1041  0
203  1.7897 -0.1683 -0.2239  0.0128  0
204 -1.0404  0.0381 -1.8959 -0.4171  0
205 -2.0500 -0.7193  0.3134 -2.6699  0
206  1.4275 -0.1427  0.1080 -2.5215  0

[207 rows x 5 columns]
In [33]:
small.shape
Out[33]:
(207, 5)
In [42]:
model = Sequential()
model.add(Dense(12, input_dim=4, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
In [43]:
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
In [44]:
history=model.fit(X, y, epochs=150, batch_size=10)
Epoch 1/150
21/21 [==============================] - 1s 1ms/step - loss: 0.7681 - accuracy: 0.3382 
Epoch 2/150
21/21 [==============================] - 0s 2ms/step - loss: 0.6592 - accuracy: 0.6570
Epoch 3/150
21/21 [==============================] - 0s 1ms/step - loss: 0.5699 - accuracy: 0.8164
Epoch 4/150
21/21 [==============================] - 0s 1ms/step - loss: 0.4937 - accuracy: 0.8454
Epoch 5/150
21/21 [==============================] - 0s 1ms/step - loss: 0.4355 - accuracy: 0.8551
Epoch 6/150
21/21 [==============================] - 0s 1ms/step - loss: 0.3925 - accuracy: 0.8647
Epoch 7/150
21/21 [==============================] - 0s 1ms/step - loss: 0.3584 - accuracy: 0.8647
Epoch 8/150
21/21 [==============================] - 0s 1ms/step - loss: 0.3333 - accuracy: 0.8647
Epoch 9/150
21/21 [==============================] - 0s 1ms/step - loss: 0.3132 - accuracy: 0.8599
Epoch 10/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2964 - accuracy: 0.8696
Epoch 11/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2833 - accuracy: 0.8792
Epoch 12/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2714 - accuracy: 0.8889
Epoch 13/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2618 - accuracy: 0.9034
Epoch 14/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2532 - accuracy: 0.8986
Epoch 15/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2462 - accuracy: 0.9034
Epoch 16/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2398 - accuracy: 0.9179
Epoch 17/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2344 - accuracy: 0.9179
Epoch 18/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2297 - accuracy: 0.9179
Epoch 19/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2251 - accuracy: 0.9179
Epoch 20/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2214 - accuracy: 0.9179
Epoch 21/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2173 - accuracy: 0.9227
Epoch 22/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2141 - accuracy: 0.9227
Epoch 23/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2108 - accuracy: 0.9227
Epoch 24/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2080 - accuracy: 0.9324
Epoch 25/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2053 - accuracy: 0.9324
Epoch 26/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2029 - accuracy: 0.9324
Epoch 27/150
21/21 [==============================] - 0s 1ms/step - loss: 0.2013 - accuracy: 0.9324
Epoch 28/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1991 - accuracy: 0.9324
Epoch 29/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1969 - accuracy: 0.9324
Epoch 30/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1955 - accuracy: 0.9324
Epoch 31/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1939 - accuracy: 0.9275
Epoch 32/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1926 - accuracy: 0.9275
Epoch 33/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1913 - accuracy: 0.9324
Epoch 34/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1899 - accuracy: 0.9324
Epoch 35/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1888 - accuracy: 0.9324
Epoch 36/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1879 - accuracy: 0.9324
Epoch 37/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1871 - accuracy: 0.9324
Epoch 38/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1854 - accuracy: 0.9324
Epoch 39/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1847 - accuracy: 0.9324
Epoch 40/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1836 - accuracy: 0.9324
Epoch 41/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1833 - accuracy: 0.9324
Epoch 42/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1825 - accuracy: 0.9324
Epoch 43/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1817 - accuracy: 0.9324
Epoch 44/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1805 - accuracy: 0.9324
Epoch 45/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1799 - accuracy: 0.9324
Epoch 46/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1792 - accuracy: 0.9324
Epoch 47/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1780 - accuracy: 0.9324
Epoch 48/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1777 - accuracy: 0.9372
Epoch 49/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1768 - accuracy: 0.9372
Epoch 50/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1767 - accuracy: 0.9324
Epoch 51/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1757 - accuracy: 0.9372
Epoch 52/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1748 - accuracy: 0.9372
Epoch 53/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1740 - accuracy: 0.9372
Epoch 54/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1736 - accuracy: 0.9372
Epoch 55/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1728 - accuracy: 0.9372
Epoch 56/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1725 - accuracy: 0.9372
Epoch 57/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1718 - accuracy: 0.9372
Epoch 58/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1712 - accuracy: 0.9372
Epoch 59/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1713 - accuracy: 0.9372
Epoch 60/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1702 - accuracy: 0.9372
Epoch 61/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1698 - accuracy: 0.9324
Epoch 62/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1694 - accuracy: 0.9324
Epoch 63/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1686 - accuracy: 0.9324
Epoch 64/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1683 - accuracy: 0.9324
Epoch 65/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1677 - accuracy: 0.9372
Epoch 66/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1675 - accuracy: 0.9324
Epoch 67/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1667 - accuracy: 0.9372
Epoch 68/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1664 - accuracy: 0.9372
Epoch 69/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1661 - accuracy: 0.9372
Epoch 70/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1656 - accuracy: 0.9372
Epoch 71/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1651 - accuracy: 0.9324
Epoch 72/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1649 - accuracy: 0.9324
Epoch 73/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1649 - accuracy: 0.9324
Epoch 74/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1643 - accuracy: 0.9324
Epoch 75/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1642 - accuracy: 0.9324
Epoch 76/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1634 - accuracy: 0.9372
Epoch 77/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1639 - accuracy: 0.9324
Epoch 78/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1628 - accuracy: 0.9372
Epoch 79/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1625 - accuracy: 0.9372
Epoch 80/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1622 - accuracy: 0.9372
Epoch 81/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1622 - accuracy: 0.9372
Epoch 82/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1617 - accuracy: 0.9324
Epoch 83/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1613 - accuracy: 0.9372
Epoch 84/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1607 - accuracy: 0.9372
Epoch 85/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1607 - accuracy: 0.9372
Epoch 86/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1604 - accuracy: 0.9372
Epoch 87/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1601 - accuracy: 0.9372
Epoch 88/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1598 - accuracy: 0.9324
Epoch 89/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1595 - accuracy: 0.9324
Epoch 90/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1591 - accuracy: 0.9372
Epoch 91/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1589 - accuracy: 0.9372
Epoch 92/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1587 - accuracy: 0.9372
Epoch 93/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1582 - accuracy: 0.9372
Epoch 94/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1589 - accuracy: 0.9324
Epoch 95/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1582 - accuracy: 0.9275
Epoch 96/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1573 - accuracy: 0.9324
Epoch 97/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1571 - accuracy: 0.9372
Epoch 98/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1570 - accuracy: 0.9372
Epoch 99/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1573 - accuracy: 0.9372
Epoch 100/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1568 - accuracy: 0.9372
Epoch 101/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1562 - accuracy: 0.9372
Epoch 102/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1566 - accuracy: 0.9275
Epoch 103/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1563 - accuracy: 0.9324
Epoch 104/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1560 - accuracy: 0.9275
Epoch 105/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1553 - accuracy: 0.9324
Epoch 106/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1550 - accuracy: 0.9372
Epoch 107/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1546 - accuracy: 0.9324
Epoch 108/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1548 - accuracy: 0.9324
Epoch 109/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1543 - accuracy: 0.9324
Epoch 110/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1546 - accuracy: 0.9324
Epoch 111/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1540 - accuracy: 0.9324
Epoch 112/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1539 - accuracy: 0.9324
Epoch 113/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1535 - accuracy: 0.9324
Epoch 114/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1532 - accuracy: 0.9324
Epoch 115/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1532 - accuracy: 0.9324
Epoch 116/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1530 - accuracy: 0.9324
Epoch 117/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1530 - accuracy: 0.9372
Epoch 118/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1525 - accuracy: 0.9324
Epoch 119/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1525 - accuracy: 0.9324
Epoch 120/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1521 - accuracy: 0.9324
Epoch 121/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1520 - accuracy: 0.9324
Epoch 122/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1519 - accuracy: 0.9324
Epoch 123/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1517 - accuracy: 0.9324
Epoch 124/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1514 - accuracy: 0.9372
Epoch 125/150
21/21 [==============================] - 0s 2ms/step - loss: 0.1513 - accuracy: 0.9324
Epoch 126/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1514 - accuracy: 0.9324
Epoch 127/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1507 - accuracy: 0.9324
Epoch 128/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1510 - accuracy: 0.9324
Epoch 129/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1511 - accuracy: 0.9324
Epoch 130/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1506 - accuracy: 0.9324
Epoch 131/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1506 - accuracy: 0.9324
Epoch 132/150
21/21 [==============================] - 0s 2ms/step - loss: 0.1499 - accuracy: 0.9324
Epoch 133/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1499 - accuracy: 0.9324
Epoch 134/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1497 - accuracy: 0.9324
Epoch 135/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1499 - accuracy: 0.9324
Epoch 136/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1495 - accuracy: 0.9324
Epoch 137/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1493 - accuracy: 0.9324
Epoch 138/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1490 - accuracy: 0.9324
Epoch 139/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1491 - accuracy: 0.9324
Epoch 140/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1485 - accuracy: 0.9324
Epoch 141/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1492 - accuracy: 0.9324
Epoch 142/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1480 - accuracy: 0.9324
Epoch 143/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1483 - accuracy: 0.9324
Epoch 144/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1480 - accuracy: 0.9324
Epoch 145/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1479 - accuracy: 0.9324
Epoch 146/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1478 - accuracy: 0.9324
Epoch 147/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1475 - accuracy: 0.9324
Epoch 148/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1480 - accuracy: 0.9324
Epoch 149/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1475 - accuracy: 0.9324
Epoch 150/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1466 - accuracy: 0.9324
In [45]:
print(history.history.keys())
dict_keys(['loss', 'accuracy'])
In [46]:
from matplotlib.pyplot import figure

figure(num=None, figsize=(8, 6), dpi=300, facecolor='w', edgecolor='k')
import matplotlib.pyplot as plt

plt.plot(history.history['accuracy'])

plt.title('CRC hypermutated validation accuracy')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['accuracy'], loc='lower right' )
plt.show()
In [47]:
from matplotlib.pyplot import figure

figure(num=None, figsize=(8, 6), dpi=300, facecolor='w', edgecolor='k')
import matplotlib.pyplot as plt

plt.plot(history.history['loss'])

plt.title('CRC hypermutated validation loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['loss'], loc='upper right' )
plt.show()
In [48]:
model.fit(X, y, epochs=150, batch_size=10)
Epoch 1/150
21/21 [==============================] - 0s 2ms/step - loss: 0.1471 - accuracy: 0.9324
Epoch 2/150
21/21 [==============================] - 0s 2ms/step - loss: 0.1470 - accuracy: 0.9324
Epoch 3/150
21/21 [==============================] - 0s 2ms/step - loss: 0.1466 - accuracy: 0.9324
Epoch 4/150
21/21 [==============================] - 0s 2ms/step - loss: 0.1462 - accuracy: 0.9372
Epoch 5/150
21/21 [==============================] - 0s 2ms/step - loss: 0.1460 - accuracy: 0.9324
Epoch 6/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1459 - accuracy: 0.9324
Epoch 7/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1455 - accuracy: 0.9372
Epoch 8/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1454 - accuracy: 0.9324
Epoch 9/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1451 - accuracy: 0.9372
Epoch 10/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1449 - accuracy: 0.9372
Epoch 11/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1447 - accuracy: 0.9372
Epoch 12/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1447 - accuracy: 0.9372
Epoch 13/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1441 - accuracy: 0.9372
Epoch 14/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1446 - accuracy: 0.9372
Epoch 15/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1439 - accuracy: 0.9372
Epoch 16/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1438 - accuracy: 0.9372
Epoch 17/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1439 - accuracy: 0.9372
Epoch 18/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1436 - accuracy: 0.9372
Epoch 19/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1439 - accuracy: 0.9324
Epoch 20/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1428 - accuracy: 0.9372
Epoch 21/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1430 - accuracy: 0.9324
Epoch 22/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1426 - accuracy: 0.9372
Epoch 23/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1428 - accuracy: 0.9420
Epoch 24/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1426 - accuracy: 0.9324
Epoch 25/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1418 - accuracy: 0.9372
Epoch 26/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1417 - accuracy: 0.9372
Epoch 27/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1416 - accuracy: 0.9324
Epoch 28/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1411 - accuracy: 0.9324
Epoch 29/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1415 - accuracy: 0.9324
Epoch 30/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1409 - accuracy: 0.9420
Epoch 31/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1407 - accuracy: 0.9324
Epoch 32/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1408 - accuracy: 0.9324
Epoch 33/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1404 - accuracy: 0.9324
Epoch 34/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1409 - accuracy: 0.9324
Epoch 35/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1398 - accuracy: 0.9324
Epoch 36/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1399 - accuracy: 0.9324
Epoch 37/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1393 - accuracy: 0.9324
Epoch 38/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1390 - accuracy: 0.9372
Epoch 39/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1390 - accuracy: 0.9324
Epoch 40/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1388 - accuracy: 0.9324
Epoch 41/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1384 - accuracy: 0.9324
Epoch 42/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1386 - accuracy: 0.9324
Epoch 43/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1377 - accuracy: 0.9372
Epoch 44/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1383 - accuracy: 0.9324
Epoch 45/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1378 - accuracy: 0.9324
Epoch 46/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1374 - accuracy: 0.9420
Epoch 47/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1371 - accuracy: 0.9372
Epoch 48/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1370 - accuracy: 0.9372
Epoch 49/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1365 - accuracy: 0.9372
Epoch 50/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1367 - accuracy: 0.9372
Epoch 51/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1362 - accuracy: 0.9372
Epoch 52/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1360 - accuracy: 0.9324
Epoch 53/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1356 - accuracy: 0.9372
Epoch 54/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1357 - accuracy: 0.9420
Epoch 55/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1358 - accuracy: 0.9420
Epoch 56/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1351 - accuracy: 0.9420
Epoch 57/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1351 - accuracy: 0.9372
Epoch 58/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1348 - accuracy: 0.9469
Epoch 59/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1345 - accuracy: 0.9469
Epoch 60/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1345 - accuracy: 0.9372
Epoch 61/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1340 - accuracy: 0.9469
Epoch 62/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1337 - accuracy: 0.9517
Epoch 63/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1344 - accuracy: 0.9469
Epoch 64/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1329 - accuracy: 0.9517
Epoch 65/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1335 - accuracy: 0.9517
Epoch 66/150
21/21 [==============================] - 0s 2ms/step - loss: 0.1329 - accuracy: 0.9517
Epoch 67/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1331 - accuracy: 0.9517
Epoch 68/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1342 - accuracy: 0.9469
Epoch 69/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1327 - accuracy: 0.9469
Epoch 70/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1324 - accuracy: 0.9517
Epoch 71/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1320 - accuracy: 0.9517
Epoch 72/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1321 - accuracy: 0.9517
Epoch 73/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1317 - accuracy: 0.9517
Epoch 74/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1315 - accuracy: 0.9517
Epoch 75/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1313 - accuracy: 0.9517
Epoch 76/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1315 - accuracy: 0.9517
Epoch 77/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1310 - accuracy: 0.9517
Epoch 78/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1309 - accuracy: 0.9565
Epoch 79/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1312 - accuracy: 0.9517
Epoch 80/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1308 - accuracy: 0.9565
Epoch 81/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1307 - accuracy: 0.9517
Epoch 82/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1304 - accuracy: 0.9517
Epoch 83/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1298 - accuracy: 0.9565
Epoch 84/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1295 - accuracy: 0.9565
Epoch 85/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1295 - accuracy: 0.9565
Epoch 86/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1294 - accuracy: 0.9517
Epoch 87/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1293 - accuracy: 0.9565
Epoch 88/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1287 - accuracy: 0.9517
Epoch 89/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1288 - accuracy: 0.9517
Epoch 90/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1285 - accuracy: 0.9517
Epoch 91/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1284 - accuracy: 0.9517
Epoch 92/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1281 - accuracy: 0.9517
Epoch 93/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1281 - accuracy: 0.9565
Epoch 94/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1279 - accuracy: 0.9517
Epoch 95/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1283 - accuracy: 0.9517
Epoch 96/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1279 - accuracy: 0.9517
Epoch 97/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1275 - accuracy: 0.9565
Epoch 98/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1271 - accuracy: 0.9517
Epoch 99/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1273 - accuracy: 0.9517
Epoch 100/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1267 - accuracy: 0.9565
Epoch 101/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1267 - accuracy: 0.9565
Epoch 102/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1267 - accuracy: 0.9565
Epoch 103/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1263 - accuracy: 0.9565
Epoch 104/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1263 - accuracy: 0.9565
Epoch 105/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1256 - accuracy: 0.9565
Epoch 106/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1253 - accuracy: 0.9517
Epoch 107/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1254 - accuracy: 0.9517
Epoch 108/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1252 - accuracy: 0.9517
Epoch 109/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1248 - accuracy: 0.9565
Epoch 110/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1250 - accuracy: 0.9565
Epoch 111/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1248 - accuracy: 0.9565
Epoch 112/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1243 - accuracy: 0.9565
Epoch 113/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1246 - accuracy: 0.9565
Epoch 114/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1243 - accuracy: 0.9565
Epoch 115/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1243 - accuracy: 0.9565
Epoch 116/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1242 - accuracy: 0.9565
Epoch 117/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1237 - accuracy: 0.9565
Epoch 118/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1241 - accuracy: 0.9565
Epoch 119/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1229 - accuracy: 0.9565
Epoch 120/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1239 - accuracy: 0.9517
Epoch 121/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1233 - accuracy: 0.9565
Epoch 122/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1228 - accuracy: 0.9565
Epoch 123/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1224 - accuracy: 0.9565
Epoch 124/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1225 - accuracy: 0.9565
Epoch 125/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1224 - accuracy: 0.9565
Epoch 126/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1217 - accuracy: 0.9565
Epoch 127/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1217 - accuracy: 0.9565
Epoch 128/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1213 - accuracy: 0.9565
Epoch 129/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1213 - accuracy: 0.9565
Epoch 130/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1213 - accuracy: 0.9565
Epoch 131/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1205 - accuracy: 0.9565
Epoch 132/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1207 - accuracy: 0.9565
Epoch 133/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1203 - accuracy: 0.9565
Epoch 134/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1203 - accuracy: 0.9565
Epoch 135/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1199 - accuracy: 0.9565
Epoch 136/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1197 - accuracy: 0.9565
Epoch 137/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1198 - accuracy: 0.9565
Epoch 138/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1200 - accuracy: 0.9565
Epoch 139/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1193 - accuracy: 0.9565
Epoch 140/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1193 - accuracy: 0.9565
Epoch 141/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1193 - accuracy: 0.9517
Epoch 142/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1185 - accuracy: 0.9565
Epoch 143/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1188 - accuracy: 0.9565
Epoch 144/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1184 - accuracy: 0.9565
Epoch 145/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1185 - accuracy: 0.9565
Epoch 146/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1190 - accuracy: 0.9517
Epoch 147/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1174 - accuracy: 0.9565
Epoch 148/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1178 - accuracy: 0.9565
Epoch 149/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1176 - accuracy: 0.9565
Epoch 150/150
21/21 [==============================] - 0s 1ms/step - loss: 0.1174 - accuracy: 0.9565
Out[48]:
<keras.callbacks.History at 0x1cdde23ef88>
In [49]:
_, accuracy = model.evaluate(X, y)
print('Accuracy: %.2f' % (accuracy*100))
7/7 [==============================] - 0s 1ms/step - loss: 0.1164 - accuracy: 0.9565
Accuracy: 95.65
In [50]:
model.summary()
Model: "sequential_2"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 dense_6 (Dense)             (None, 12)                60        
                                                                 
 dense_7 (Dense)             (None, 8)                 104       
                                                                 
 dense_8 (Dense)             (None, 1)                 9         
                                                                 
=================================================================
Total params: 173
Trainable params: 173
Non-trainable params: 0
_________________________________________________________________
In [51]:
yhat_probs = model.predict(X)
In [52]:
#yhat_classes = model.predict_classes(X, verbose=0)
yhat_classes = (model.predict(X) > 0.5).astype("int32")
yhat_classes
Out[52]:
array([[0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [1],
       [0],
       [0],
       [0],
       [0],
       [0],
       [1],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [1],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [1],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [1],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [1],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [1],
       [0],
       [0],
       [0],
       [1],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [1],
       [1],
       [1],
       [1],
       [1],
       [1],
       [1],
       [1],
       [1],
       [1],
       [1],
       [1],
       [0],
       [1],
       [0],
       [1],
       [0],
       [0],
       [0],
       [0],
       [1],
       [0],
       [1],
       [1],
       [0],
       [0],
       [1],
       [0],
       [0],
       [0],
       [0],
       [0],
       [1],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [1],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [1],
       [0],
       [0],
       [0],
       [0],
       [0],
       [1],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0],
       [0]])
In [53]:
yhat_probs
Out[53]:
array([[9.29147005e-04],
       [6.71754777e-02],
       [2.72608101e-02],
       [4.10211444e-01],
       [8.33065212e-02],
       [1.42429173e-02],
       [2.17200816e-02],
       [3.28779221e-04],
       [1.52981281e-03],
       [3.38524580e-04],
       [2.35980934e-07],
       [2.74296701e-02],
       [2.06083059e-04],
       [6.72370195e-04],
       [3.16306353e-02],
       [8.84390374e-06],
       [3.58045101e-04],
       [7.80794024e-03],
       [2.41850353e-06],
       [1.16520225e-08],
       [9.21010971e-04],
       [4.00447845e-03],
       [8.26401472e-01],
       [2.20547140e-01],
       [3.45711708e-02],
       [3.02300265e-08],
       [4.24500030e-07],
       [5.09474130e-10],
       [6.71366155e-01],
       [7.86997974e-02],
       [3.52963871e-05],
       [4.10041213e-02],
       [2.23234219e-05],
       [1.31845385e-01],
       [3.93077130e-07],
       [1.72453510e-05],
       [2.87570523e-10],
       [9.77032322e-09],
       [3.02829442e-08],
       [5.28164068e-10],
       [3.53298759e-08],
       [4.65251337e-10],
       [1.42866803e-08],
       [1.18190307e-07],
       [4.89848852e-03],
       [1.41127432e-09],
       [1.15644932e-03],
       [1.67220831e-04],
       [1.21898919e-01],
       [1.65805495e-16],
       [3.13027772e-06],
       [2.99208223e-05],
       [1.97576106e-01],
       [5.36087896e-07],
       [3.88355802e-05],
       [3.70988237e-05],
       [1.06451660e-06],
       [6.38336033e-08],
       [6.95639471e-07],
       [5.21986843e-10],
       [5.35865484e-11],
       [4.55608964e-03],
       [4.84428256e-07],
       [6.30153775e-01],
       [3.92312955e-08],
       [1.03628635e-03],
       [5.44862151e-02],
       [4.97588515e-03],
       [8.41044584e-06],
       [2.36351222e-01],
       [2.26161023e-06],
       [2.71707773e-04],
       [1.49748117e-10],
       [2.60864041e-09],
       [1.35683295e-05],
       [8.74233047e-11],
       [6.22415841e-01],
       [1.72829289e-08],
       [3.21418047e-04],
       [2.39258677e-01],
       [3.38283429e-11],
       [2.00176334e-12],
       [1.07661406e-04],
       [8.84285748e-01],
       [1.29411194e-06],
       [1.24727393e-08],
       [8.76602530e-03],
       [1.79898125e-05],
       [3.42101373e-07],
       [8.09966672e-09],
       [1.33525646e-06],
       [3.62658903e-10],
       [3.85344028e-04],
       [9.93735671e-01],
       [4.82499599e-04],
       [1.97002292e-03],
       [1.99711323e-02],
       [2.99765865e-08],
       [1.12878213e-08],
       [3.78432870e-03],
       [8.87271762e-03],
       [4.92691994e-04],
       [1.49185431e-09],
       [8.77538627e-16],
       [4.07931075e-05],
       [8.19989204e-01],
       [1.70890599e-01],
       [9.68797999e-14],
       [1.26702785e-02],
       [8.09301853e-01],
       [2.06361686e-12],
       [4.15167847e-07],
       [6.44192100e-03],
       [2.22933613e-05],
       [1.17130119e-04],
       [4.52461839e-03],
       [1.94511873e-08],
       [1.42279267e-03],
       [7.25597431e-07],
       [4.85569973e-10],
       [1.82360411e-04],
       [1.57352588e-07],
       [9.25397359e-09],
       [8.44434800e-11],
       [6.60211808e-05],
       [2.72595108e-01],
       [5.56556572e-11],
       [6.34148819e-06],
       [4.34286676e-07],
       [1.81910604e-01],
       [1.83993337e-12],
       [2.74062157e-03],
       [4.19534238e-08],
       [1.73842760e-10],
       [9.62049365e-01],
       [9.63752151e-01],
       [9.84794259e-01],
       [8.66137385e-01],
       [8.75218153e-01],
       [7.90051043e-01],
       [8.77392948e-01],
       [9.74932432e-01],
       [6.93827689e-01],
       [9.38209176e-01],
       [9.72560883e-01],
       [6.19290292e-01],
       [1.85459852e-04],
       [8.45970273e-01],
       [3.81923797e-07],
       [8.36970985e-01],
       [4.67949974e-07],
       [3.06675732e-01],
       [3.05553317e-01],
       [4.99581176e-09],
       [5.39699852e-01],
       [2.52846479e-02],
       [9.12603140e-01],
       [6.23831749e-01],
       [9.06434655e-03],
       [4.90077490e-08],
       [7.58232117e-01],
       [4.57531065e-01],
       [1.43312003e-11],
       [1.99738079e-05],
       [5.12599945e-03],
       [1.33275986e-04],
       [8.74371886e-01],
       [1.43651336e-01],
       [2.20429897e-02],
       [5.55020870e-06],
       [3.38541269e-02],
       [3.81646097e-01],
       [2.57814590e-05],
       [4.48759496e-02],
       [3.67402136e-02],
       [6.11316144e-01],
       [1.29174322e-01],
       [1.05971098e-03],
       [1.56536400e-02],
       [2.86467671e-01],
       [5.81341684e-02],
       [1.11429811e-01],
       [4.70861793e-03],
       [6.19682431e-01],
       [3.57351843e-10],
       [1.66448951e-03],
       [7.44825602e-03],
       [8.13624263e-03],
       [3.33536809e-06],
       [9.93487298e-01],
       [1.65158063e-01],
       [2.29880461e-05],
       [1.15174383e-01],
       [7.08262951e-06],
       [1.99773759e-01],
       [3.47665340e-01],
       [2.01866769e-05],
       [3.37463617e-03],
       [6.42353296e-03],
       [4.63889956e-01],
       [7.15109706e-03],
       [4.20135260e-03],
       [1.03673249e-01],
       [9.21773016e-02],
       [1.24406818e-09],
       [7.46755635e-09],
       [3.05163121e-05]], dtype=float32)
In [54]:
from sklearn.metrics import confusion_matrix, precision_score, recall_score, f1_score, cohen_kappa_score, accuracy_score, roc_auc_score
In [55]:
precision = precision_score(y, yhat_classes)
print('Precision: %f' % precision)
Precision: 0.866667
In [56]:
accuracy = accuracy_score(y, yhat_classes)
print('Accuracy: %f' % accuracy)
Accuracy: 0.956522
In [57]:
recall = recall_score(y, yhat_classes)
print('Recall: %f' % recall)
Recall: 0.838710
In [58]:
f1 = f1_score(y, yhat_classes)
print('F1 score: %f' % f1)
F1 score: 0.852459
In [59]:
kappa = cohen_kappa_score(y, yhat_classes)
print('Cohens kappa: %f' % kappa)
Cohens kappa: 0.826971
In [60]:
auc = roc_auc_score(y, yhat_probs)
print('ROC AUC: %f' % auc)
ROC AUC: 0.984787
In [61]:
matrix = confusion_matrix(y, yhat_classes)
print(matrix)
[[172   4]
 [  5  26]]