Tugas 8 | Studi Kasus Heart Disease 5 Fitur | ANN
Contents
Tugas 8 | Studi Kasus Heart Disease 5 Fitur | ANN#
Implementasi dengan menggunakan ANN
Inisialisasi Model Dan Data ANN#
import tensorflow as tf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import keras
from keras.models import Sequential
from keras.layers import Dense
from sklearn.metrics import confusion_matrix
data = pd.read_csv('https://raw.githubusercontent.com/soumya-mishra/Heart-Disease_DT/main/heart_v2.csv')
data.head()
age | sex | BP | cholestrol | heart disease | |
---|---|---|---|---|---|
0 | 70 | 1 | 130 | 322 | 1 |
1 | 67 | 0 | 115 | 564 | 0 |
2 | 57 | 1 | 124 | 261 | 1 |
3 | 64 | 1 | 128 | 263 | 0 |
4 | 74 | 0 | 120 | 269 | 0 |
data.describe()
age | sex | BP | cholestrol | heart disease | |
---|---|---|---|---|---|
count | 270.000000 | 270.000000 | 270.000000 | 270.000000 | 270.000000 |
mean | 54.433333 | 0.677778 | 131.344444 | 249.659259 | 0.444444 |
std | 9.109067 | 0.468195 | 17.861608 | 51.686237 | 0.497827 |
min | 29.000000 | 0.000000 | 94.000000 | 126.000000 | 0.000000 |
25% | 48.000000 | 0.000000 | 120.000000 | 213.000000 | 0.000000 |
50% | 55.000000 | 1.000000 | 130.000000 | 245.000000 | 0.000000 |
75% | 61.000000 | 1.000000 | 140.000000 | 280.000000 | 1.000000 |
max | 77.000000 | 1.000000 | 200.000000 | 564.000000 | 1.000000 |
data.isnull().any()
age False
sex False
BP False
cholestrol False
heart disease False
dtype: bool
nama_fitur = data.columns.copy()
nama_fitur = nama_fitur.drop('heart disease')
nama_fitur
Index(['age', 'sex', 'BP', 'cholestrol'], dtype='object')
X = data.iloc[:,:4].values
y = data["heart disease"].values
X
array([[ 70, 1, 130, 322],
[ 67, 0, 115, 564],
[ 57, 1, 124, 261],
...,
[ 56, 0, 140, 294],
[ 57, 1, 140, 192],
[ 67, 1, 160, 286]])
y
array([1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0,
1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1,
0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0,
0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0,
1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1,
0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1,
1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0,
0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0,
1, 0, 0, 0, 0, 1])
Preprosessing Data#
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
scaled = scaler.fit_transform(X)
scaled_fitur = pd.DataFrame(scaled,columns=nama_fitur)
scaled_fitur
age | sex | BP | cholestrol | |
---|---|---|---|---|
0 | 0.854167 | 1.0 | 0.339623 | 0.447489 |
1 | 0.791667 | 0.0 | 0.198113 | 1.000000 |
2 | 0.583333 | 1.0 | 0.283019 | 0.308219 |
3 | 0.729167 | 1.0 | 0.320755 | 0.312785 |
4 | 0.937500 | 0.0 | 0.245283 | 0.326484 |
... | ... | ... | ... | ... |
265 | 0.479167 | 1.0 | 0.735849 | 0.166667 |
266 | 0.312500 | 1.0 | 0.245283 | 0.312785 |
267 | 0.562500 | 0.0 | 0.433962 | 0.383562 |
268 | 0.583333 | 1.0 | 0.433962 | 0.150685 |
269 | 0.791667 | 1.0 | 0.622642 | 0.365297 |
270 rows × 4 columns
Split data#
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test=train_test_split(scaled_fitur, y, test_size=0.2, random_state=1)
X_train.shape + X_test.shape
(216, 4, 54, 4)
Inisialisasi Layer ANN#
classifier = Sequential()
classifier.add(Dense(activation = "relu", input_dim = 4,
units =8, kernel_initializer = "uniform"))
classifier.add(Dense(activation = "relu", units = 14,
kernel_initializer = "uniform"))
classifier.add(Dense(activation = "sigmoid", units = 1,
kernel_initializer = "uniform"))
classifier.compile(optimizer = 'adam' , loss = 'binary_crossentropy',
metrics = ['accuracy'] )
Train Data pada Model#
classifier.fit(X_train , y_train , batch_size = 8 ,epochs = 100)
Epoch 1/100
1/27 [>.............................] - ETA: 14s - loss: 0.6931 - accuracy: 0.7500
27/27 [==============================] - 1s 2ms/step - loss: 0.6931 - accuracy: 0.5324
Epoch 2/100
1/27 [>.............................] - ETA: 0s - loss: 0.6923 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6926 - accuracy: 0.5509
Epoch 3/100
1/27 [>.............................] - ETA: 0s - loss: 0.6880 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6918 - accuracy: 0.5509
Epoch 4/100
1/27 [>.............................] - ETA: 0s - loss: 0.6968 - accuracy: 0.3750
27/27 [==============================] - 0s 1ms/step - loss: 0.6911 - accuracy: 0.5509
Epoch 5/100
1/27 [>.............................] - ETA: 0s - loss: 0.6911 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6899 - accuracy: 0.5509
Epoch 6/100
1/27 [>.............................] - ETA: 0s - loss: 0.6817 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6881 - accuracy: 0.5509
Epoch 7/100
1/27 [>.............................] - ETA: 0s - loss: 0.7018 - accuracy: 0.3750
27/27 [==============================] - 0s 1ms/step - loss: 0.6859 - accuracy: 0.5509
Epoch 8/100
1/27 [>.............................] - ETA: 0s - loss: 0.6677 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6839 - accuracy: 0.5509
Epoch 9/100
1/27 [>.............................] - ETA: 0s - loss: 0.6628 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6801 - accuracy: 0.5509
Epoch 10/100
1/27 [>.............................] - ETA: 0s - loss: 0.6548 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6762 - accuracy: 0.5509
Epoch 11/100
1/27 [>.............................] - ETA: 0s - loss: 0.6703 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6725 - accuracy: 0.5509
Epoch 12/100
1/27 [>.............................] - ETA: 0s - loss: 0.7110 - accuracy: 0.3750
27/27 [==============================] - 0s 2ms/step - loss: 0.6683 - accuracy: 0.5509
Epoch 13/100
1/27 [>.............................] - ETA: 0s - loss: 0.6283 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6643 - accuracy: 0.5509
Epoch 14/100
1/27 [>.............................] - ETA: 0s - loss: 0.7106 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6615 - accuracy: 0.5509
Epoch 15/100
1/27 [>.............................] - ETA: 0s - loss: 0.5797 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6590 - accuracy: 0.5509
Epoch 16/100
1/27 [>.............................] - ETA: 0s - loss: 0.7328 - accuracy: 0.3750
27/27 [==============================] - ETA: 0s - loss: 0.6559 - accuracy: 0.5509
27/27 [==============================] - 0s 2ms/step - loss: 0.6559 - accuracy: 0.5509
Epoch 17/100
1/27 [>.............................] - ETA: 0s - loss: 0.5836 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6544 - accuracy: 0.5509
Epoch 18/100
1/27 [>.............................] - ETA: 0s - loss: 0.6296 - accuracy: 0.3750
27/27 [==============================] - 0s 2ms/step - loss: 0.6534 - accuracy: 0.5509
Epoch 19/100
1/27 [>.............................] - ETA: 0s - loss: 0.8053 - accuracy: 0.3750
27/27 [==============================] - 0s 2ms/step - loss: 0.6521 - accuracy: 0.5509
Epoch 20/100
1/27 [>.............................] - ETA: 0s - loss: 0.6272 - accuracy: 0.6250
27/27 [==============================] - 0s 1ms/step - loss: 0.6517 - accuracy: 0.5509
Epoch 21/100
1/27 [>.............................] - ETA: 0s - loss: 0.6207 - accuracy: 0.7500
27/27 [==============================] - 0s 1ms/step - loss: 0.6497 - accuracy: 0.5509
Epoch 22/100
1/27 [>.............................] - ETA: 0s - loss: 0.5602 - accuracy: 0.7500
27/27 [==============================] - 0s 1ms/step - loss: 0.6491 - accuracy: 0.5509
Epoch 23/100
1/27 [>.............................] - ETA: 0s - loss: 0.6791 - accuracy: 0.3750
27/27 [==============================] - 0s 2ms/step - loss: 0.6480 - accuracy: 0.5509
Epoch 24/100
1/27 [>.............................] - ETA: 0s - loss: 0.5101 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6472 - accuracy: 0.5509
Epoch 25/100
1/27 [>.............................] - ETA: 0s - loss: 0.5964 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6465 - accuracy: 0.5509
Epoch 26/100
1/27 [>.............................] - ETA: 0s - loss: 0.6277 - accuracy: 0.3750
27/27 [==============================] - 0s 2ms/step - loss: 0.6458 - accuracy: 0.5509
Epoch 27/100
1/27 [>.............................] - ETA: 0s - loss: 0.8635 - accuracy: 0.3750
27/27 [==============================] - 0s 2ms/step - loss: 0.6452 - accuracy: 0.5509
Epoch 28/100
1/27 [>.............................] - ETA: 0s - loss: 0.6304 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6443 - accuracy: 0.5880
Epoch 29/100
1/27 [>.............................] - ETA: 0s - loss: 0.6282 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6434 - accuracy: 0.6667
Epoch 30/100
1/27 [>.............................] - ETA: 0s - loss: 0.6009 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6430 - accuracy: 0.6204
Epoch 31/100
1/27 [>.............................] - ETA: 0s - loss: 0.6665 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6427 - accuracy: 0.6481
Epoch 32/100
1/27 [>.............................] - ETA: 0s - loss: 0.6070 - accuracy: 0.8750
27/27 [==============================] - 0s 2ms/step - loss: 0.6418 - accuracy: 0.6620
Epoch 33/100
1/27 [>.............................] - ETA: 0s - loss: 0.6672 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6407 - accuracy: 0.6713
Epoch 34/100
1/27 [>.............................] - ETA: 0s - loss: 0.5515 - accuracy: 0.8750
27/27 [==============================] - 0s 2ms/step - loss: 0.6397 - accuracy: 0.6574
Epoch 35/100
1/27 [>.............................] - ETA: 0s - loss: 0.4316 - accuracy: 1.0000
27/27 [==============================] - 0s 2ms/step - loss: 0.6391 - accuracy: 0.6667
Epoch 36/100
1/27 [>.............................] - ETA: 0s - loss: 0.7409 - accuracy: 0.6250
27/27 [==============================] - 0s 1ms/step - loss: 0.6380 - accuracy: 0.6528
Epoch 37/100
1/27 [>.............................] - ETA: 0s - loss: 0.4997 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6377 - accuracy: 0.6528
Epoch 38/100
1/27 [>.............................] - ETA: 0s - loss: 0.5575 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6369 - accuracy: 0.6435
Epoch 39/100
1/27 [>.............................] - ETA: 0s - loss: 0.6761 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6358 - accuracy: 0.6667
Epoch 40/100
1/27 [>.............................] - ETA: 0s - loss: 0.5948 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6354 - accuracy: 0.6667
Epoch 41/100
1/27 [>.............................] - ETA: 0s - loss: 0.5398 - accuracy: 0.6250
27/27 [==============================] - 0s 1ms/step - loss: 0.6344 - accuracy: 0.6435
Epoch 42/100
1/27 [>.............................] - ETA: 0s - loss: 0.5783 - accuracy: 0.7500
27/27 [==============================] - 0s 1ms/step - loss: 0.6334 - accuracy: 0.6389
Epoch 43/100
1/27 [>.............................] - ETA: 0s - loss: 0.5009 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6327 - accuracy: 0.6528
Epoch 44/100
1/27 [>.............................] - ETA: 0s - loss: 0.5304 - accuracy: 0.6250
27/27 [==============================] - 0s 1ms/step - loss: 0.6319 - accuracy: 0.6389
Epoch 45/100
1/27 [>.............................] - ETA: 0s - loss: 0.5855 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6315 - accuracy: 0.6481
Epoch 46/100
1/27 [>.............................] - ETA: 0s - loss: 0.8439 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6307 - accuracy: 0.6435
Epoch 47/100
1/27 [>.............................] - ETA: 0s - loss: 0.4664 - accuracy: 0.8750
27/27 [==============================] - 0s 2ms/step - loss: 0.6305 - accuracy: 0.6481
Epoch 48/100
1/27 [>.............................] - ETA: 0s - loss: 0.6741 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6290 - accuracy: 0.6528
Epoch 49/100
1/27 [>.............................] - ETA: 0s - loss: 0.7898 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6281 - accuracy: 0.6343
Epoch 50/100
1/27 [>.............................] - ETA: 0s - loss: 0.7555 - accuracy: 0.3750
27/27 [==============================] - 0s 2ms/step - loss: 0.6267 - accuracy: 0.6481
Epoch 51/100
1/27 [>.............................] - ETA: 0s - loss: 0.6203 - accuracy: 0.6250
27/27 [==============================] - ETA: 0s - loss: 0.6262 - accuracy: 0.6481
27/27 [==============================] - 0s 2ms/step - loss: 0.6262 - accuracy: 0.6481
Epoch 52/100
1/27 [>.............................] - ETA: 0s - loss: 0.6045 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6268 - accuracy: 0.6481
Epoch 53/100
1/27 [>.............................] - ETA: 0s - loss: 0.5793 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6243 - accuracy: 0.6481
Epoch 54/100
1/27 [>.............................] - ETA: 0s - loss: 0.6540 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6236 - accuracy: 0.6435
Epoch 55/100
1/27 [>.............................] - ETA: 0s - loss: 0.5330 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6231 - accuracy: 0.6389
Epoch 56/100
1/27 [>.............................] - ETA: 0s - loss: 0.4584 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6221 - accuracy: 0.6481
Epoch 57/100
1/27 [>.............................] - ETA: 0s - loss: 0.5214 - accuracy: 1.0000
27/27 [==============================] - 0s 2ms/step - loss: 0.6213 - accuracy: 0.6435
Epoch 58/100
1/27 [>.............................] - ETA: 0s - loss: 0.6742 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6210 - accuracy: 0.6435
Epoch 59/100
1/27 [>.............................] - ETA: 0s - loss: 0.6473 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6195 - accuracy: 0.6481
Epoch 60/100
1/27 [>.............................] - ETA: 0s - loss: 0.5953 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6188 - accuracy: 0.6528
Epoch 61/100
1/27 [>.............................] - ETA: 0s - loss: 0.6315 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6185 - accuracy: 0.6574
Epoch 62/100
1/27 [>.............................] - ETA: 0s - loss: 0.5224 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6183 - accuracy: 0.6574
Epoch 63/100
1/27 [>.............................] - ETA: 0s - loss: 0.7425 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6168 - accuracy: 0.6435
Epoch 64/100
1/27 [>.............................] - ETA: 0s - loss: 0.6291 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6161 - accuracy: 0.6574
Epoch 65/100
1/27 [>.............................] - ETA: 0s - loss: 0.5739 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6154 - accuracy: 0.6528
Epoch 66/100
1/27 [>.............................] - ETA: 0s - loss: 0.6772 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6151 - accuracy: 0.6528
Epoch 67/100
1/27 [>.............................] - ETA: 0s - loss: 0.8088 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6146 - accuracy: 0.6759
Epoch 68/100
1/27 [>.............................] - ETA: 0s - loss: 0.6447 - accuracy: 0.8750
27/27 [==============================] - 0s 2ms/step - loss: 0.6142 - accuracy: 0.6528
Epoch 69/100
1/27 [>.............................] - ETA: 0s - loss: 0.7810 - accuracy: 0.5000
27/27 [==============================] - 0s 1ms/step - loss: 0.6131 - accuracy: 0.6528
Epoch 70/100
1/27 [>.............................] - ETA: 0s - loss: 0.5381 - accuracy: 0.8750
27/27 [==============================] - 0s 1ms/step - loss: 0.6123 - accuracy: 0.6528
Epoch 71/100
1/27 [>.............................] - ETA: 0s - loss: 0.4904 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6116 - accuracy: 0.6528
Epoch 72/100
1/27 [>.............................] - ETA: 0s - loss: 0.7222 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6110 - accuracy: 0.6481
Epoch 73/100
1/27 [>.............................] - ETA: 0s - loss: 0.5405 - accuracy: 0.7500
27/27 [==============================] - 0s 1ms/step - loss: 0.6106 - accuracy: 0.6574
Epoch 74/100
1/27 [>.............................] - ETA: 0s - loss: 0.6287 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6104 - accuracy: 0.6620
Epoch 75/100
1/27 [>.............................] - ETA: 0s - loss: 0.6149 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6095 - accuracy: 0.6574
Epoch 76/100
1/27 [>.............................] - ETA: 0s - loss: 0.7186 - accuracy: 0.1250
27/27 [==============================] - 0s 1ms/step - loss: 0.6088 - accuracy: 0.6574
Epoch 77/100
1/27 [>.............................] - ETA: 0s - loss: 0.8368 - accuracy: 0.3750
27/27 [==============================] - 0s 1ms/step - loss: 0.6083 - accuracy: 0.6574
Epoch 78/100
1/27 [>.............................] - ETA: 0s - loss: 0.5937 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6080 - accuracy: 0.6574
Epoch 79/100
1/27 [>.............................] - ETA: 0s - loss: 0.5982 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6098 - accuracy: 0.6296
Epoch 80/100
1/27 [>.............................] - ETA: 0s - loss: 0.4607 - accuracy: 1.0000
27/27 [==============================] - 0s 2ms/step - loss: 0.6064 - accuracy: 0.6667
Epoch 81/100
1/27 [>.............................] - ETA: 0s - loss: 0.6632 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6065 - accuracy: 0.6574
Epoch 82/100
1/27 [>.............................] - ETA: 0s - loss: 0.5934 - accuracy: 0.6250
27/27 [==============================] - 0s 1ms/step - loss: 0.6068 - accuracy: 0.6667
Epoch 83/100
1/27 [>.............................] - ETA: 0s - loss: 0.4790 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6057 - accuracy: 0.6574
Epoch 84/100
1/27 [>.............................] - ETA: 0s - loss: 0.7016 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6054 - accuracy: 0.6481
Epoch 85/100
1/27 [>.............................] - ETA: 0s - loss: 0.8693 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6037 - accuracy: 0.6667
Epoch 86/100
1/27 [>.............................] - ETA: 0s - loss: 0.5425 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6043 - accuracy: 0.6759
Epoch 87/100
1/27 [>.............................] - ETA: 0s - loss: 0.6537 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6068 - accuracy: 0.6574
Epoch 88/100
1/27 [>.............................] - ETA: 0s - loss: 0.5494 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6030 - accuracy: 0.6574
Epoch 89/100
1/27 [>.............................] - ETA: 0s - loss: 0.6255 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6036 - accuracy: 0.6620
Epoch 90/100
1/27 [>.............................] - ETA: 0s - loss: 0.6360 - accuracy: 0.8750
27/27 [==============================] - 0s 2ms/step - loss: 0.6028 - accuracy: 0.6528
Epoch 91/100
1/27 [>.............................] - ETA: 0s - loss: 0.6198 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6024 - accuracy: 0.6528
Epoch 92/100
1/27 [>.............................] - ETA: 0s - loss: 0.5810 - accuracy: 0.8750
27/27 [==============================] - 0s 2ms/step - loss: 0.6018 - accuracy: 0.6574
Epoch 93/100
1/27 [>.............................] - ETA: 0s - loss: 0.7915 - accuracy: 0.5000
27/27 [==============================] - 0s 2ms/step - loss: 0.6021 - accuracy: 0.6528
Epoch 94/100
1/27 [>.............................] - ETA: 0s - loss: 0.5426 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6017 - accuracy: 0.6620
Epoch 95/100
1/27 [>.............................] - ETA: 0s - loss: 0.5261 - accuracy: 0.7500
27/27 [==============================] - 0s 2ms/step - loss: 0.6009 - accuracy: 0.6620
Epoch 96/100
1/27 [>.............................] - ETA: 0s - loss: 0.4566 - accuracy: 0.7500
27/27 [==============================] - 0s 1ms/step - loss: 0.6012 - accuracy: 0.6481
Epoch 97/100
1/27 [>.............................] - ETA: 0s - loss: 0.5107 - accuracy: 0.8750
27/27 [==============================] - 0s 2ms/step - loss: 0.6018 - accuracy: 0.6620
Epoch 98/100
1/27 [>.............................] - ETA: 0s - loss: 0.5815 - accuracy: 0.8750
27/27 [==============================] - 0s 2ms/step - loss: 0.6002 - accuracy: 0.6574
Epoch 99/100
1/27 [>.............................] - ETA: 0s - loss: 0.5990 - accuracy: 0.5000
26/27 [===========================>..] - ETA: 0s - loss: 0.6022 - accuracy: 0.6490
27/27 [==============================] - 0s 2ms/step - loss: 0.5997 - accuracy: 0.6574
Epoch 100/100
1/27 [>.............................] - ETA: 0s - loss: 0.5606 - accuracy: 0.6250
27/27 [==============================] - 0s 2ms/step - loss: 0.6001 - accuracy: 0.6528
<keras.callbacks.History at 0x7f2d69fb6890>
Predict data With X_Test#
y_pred = classifier.predict(X_test)
y_pred = (y_pred > 0.5)
1/2 [==============>...............] - ETA: 0s
2/2 [==============================] - 0s 4ms/step
cm = confusion_matrix(y_test,y_pred)
cm
array([[20, 11],
[ 6, 17]])
Akurasi ANN#
accuracy = (cm[0][0]+cm[1][1])/(cm[0][1] + cm[1][0] +cm[0][0] +cm[1][1])
print(accuracy*100)
68.51851851851852