# Data wrangling
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.3     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.3     ✔ tibble    3.2.1
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
# Deep learning
library(keras)
## Warning: package 'keras' was built under R version 4.3.2
# Model Evaluation
library(caret)
## Loading required package: lattice
## 
## Attaching package: 'caret'
## 
## The following object is masked from 'package:purrr':
## 
##     lift
use_condaenv("r-tensorflow")
## Warning in use_condaenv("r-tensorflow"): multiple Conda environments found; the first-listed will be chosen.
##           name                                                   python
## 2 r-tensorflow C:\\Users\\HP\\miniconda3\\envs\\r-tensorflow/python.exe
## 5 r-tensorflow  C:\\Users\\HP\\anaconda3\\envs\\r-tensorflow/python.exe
options(scipen = 999)

Intruduction

Halo! Kali ini saya akan mengerjakan Learn By Building dari Algortima Academy. Pada pengerjaan LBB ini, saya akan mengimplementasikan dan mengerjakan study case Neural Network dan Deep Learning dengan model Keras .

Study case yang saya pilih merupakan dataset Fashion MNIST, yang merupakan kumpulan data yang terdiri dari gambar artikel Zalando dan digunakan dalam pembelajaran mesin. Kumpulan data ini terdiri dari set pelatihan sebanyak 60.000 contoh dan set pengujian sebanyak 10.000 contoh. Setiap contoh merupakan gambar berukuran 28x28 piksel dalam skala abu-abu (grayscale), yang terkait dengan label dari 10 kelas yang berbeda.

Setiap gambar pada data ini memiliki dimensi 28 piksel tinggi dan 28 piksel lebar, sehingga terdapat total 784 piksel. Setiap piksel memiliki nilai tunggal yang menunjukkan tingkat kegelapan atau kecerahan piksel tersebut, dengan angka yang lebih tinggi menunjukkan kegelapan yang lebih tinggi. Nilai piksel ini merupakan bilangan bulat antara 0 dan 255. Dataset latihan dan pengujian memiliki 785 kolom. Kolom pertama berisi label kelas (seperti yang disebutkan di atas), yang merepresentasikan jenis artikel pakaian. Sisanya adalah nilai-nilai piksel dari gambar yang terkait.

Dataset Fashion MNIST diperoleh melalui https://www.kaggle.com/datasets/zalando-research/fashionmnist

Data Preparation

fmnist_train <- read.csv("fashion-mnist_train.csv")
fmnist_test <- read.csv("fashion-mnist_test.csv")

Sebelum kita kelolah, mari kita lihat visualisasi gambar tersebut

vizTrain <- function(input){
  
  dimmax <- sqrt(ncol(input[,-1]))
  
  dimn <- ceiling(sqrt(nrow(input)))
  par(mfrow=c(dimn, dimn), mar=c(.1, .1, .1, .1))
  
  for (i in 1:nrow(input)){
      m1 <- as.matrix(input[i,2:785])
      dim(m1) <- c(28,28)
      
      m1 <- apply(apply(m1, 1, rev), 1, t)
      
      image(1:28, 1:28, 
            m1, col=grey.colors(255), 
            # remove axis text
            xaxt = 'n', yaxt = 'n')
      text(2, 20, col="white", cex=1.2, input[i, 1])
  }
  
}

Memvisualisasikan 42 data pertama

vizTrain(head(fmnist_train, 42))

Pada setiap dataset train & test terdapat label yang menunjukan jenis dari pakaian tersebut apa. label - label tersebut seperti :

0 T-shirt/top 1 Trouser 2 Pullover 3 Dress 4 Coat 5 Sandal 6 Shirt 7 Sneaker 8 Bag 9 Ankle boot

Selanjutnya, Kita akan melihat proporsi data apakah imbalance atau balance

prop.table(table(fmnist_train$label))
## 
##   0   1   2   3   4   5   6   7   8   9 
## 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1

Dari output menunjukan data train balance untuk dilanjutkan

Data Preprocessing

Sebelum membuat model dengan Keras, ada beberapa hal yang perlu dilakukan untuk mempersiapkan data:

  1. Memisahkan prediktor dengan target variabel
  2. Mengubah prediktor menjadi matrix/array khusus Keras
  3. Melakukan scaling
  4. Melakukan one-hot encoding apabila target variabel adalah kategori

Mengecheck isi dari data train dengan fungsi head untuk melihat data awal

head(fmnist_train)
##   label pixel1 pixel2 pixel3 pixel4 pixel5 pixel6 pixel7 pixel8 pixel9 pixel10
## 1     2      0      0      0      0      0      0      0      0      0       0
## 2     9      0      0      0      0      0      0      0      0      0       0
## 3     6      0      0      0      0      0      0      0      5      0       0
## 4     0      0      0      0      1      2      0      0      0      0       0
## 5     3      0      0      0      0      0      0      0      0      0       0
## 6     4      0      0      0      5      4      5      5      3      5       6
##   pixel11 pixel12 pixel13 pixel14 pixel15 pixel16 pixel17 pixel18 pixel19
## 1       0       0       0       0       0       0       0       0       0
## 2       0       0       0       0       0       0       0       0       0
## 3       0     105      92     101     107     100     132       0       0
## 4     114     183     112      55      23      72     102     165     160
## 5       0       0      46       0      21      68       0       0       0
## 6       2       0       0       0       0       0       0       0       2
##   pixel20 pixel21 pixel22 pixel23 pixel24 pixel25 pixel26 pixel27 pixel28
## 1       0       0       0       0       0       0       0       0       0
## 2       0       0       0       0       0       0       0       0       0
## 3       2       4       0       1       0       0       0       0       0
## 4      28       0       0       0       1       0       0       0       0
## 5       0       0       0       0       0       0       0       0       0
## 6       3       7       4       4       5       5       0       0       0
##   pixel29 pixel30 pixel31 pixel32 pixel33 pixel34 pixel35 pixel36 pixel37
## 1       0       0       0       0       0       0       0       0       0
## 2       0       0       0       0       0       0       0       0       0
## 3       0       0       0       0       0       0       0       0       0
## 4       0       0       0       0       1       0       0      24     188
## 5       0       0       0       0       0       0       0       0      25
## 6       0       0       0       4       5       4       5      11       2
##   pixel38 pixel39 pixel40 pixel41 pixel42 pixel43 pixel44 pixel45 pixel46
## 1       0       0       0       0       0       0       0       0       0
## 2       0       0       0       0       0       0       0       0       0
## 3       0     150     227     211     171     191     236     228     172
## 4     163      93     136     153     168     252     174     136     166
## 5     187     189       0     119     173     239     112       0     189
## 6       0       0      21     231     156     134     177     194       1
##   pixel47 pixel48 pixel49 pixel50 pixel51 pixel52 pixel53 pixel54 pixel55
## 1       0       0       0       0       0       0       0       0       0
## 2       0       0       0       0       0       0       0       0       0
## 3       0       0       0       0       1       0       0       0       0
## 4     130     123     131      66       0       0       1       0       0
## 5     125       0       0       0       0       0       0       0       0
## 6       0       0       0      10       5       5       4       0       0
##   pixel56 pixel57 pixel58 pixel59 pixel60 pixel61 pixel62 pixel63 pixel64
## 1       0       0       0       0       0       0       0       0       0
## 2       0       0       0       0       0       0       0       0       0
## 3       0       0       0       0       0       0       0       0      48
## 4       0       0       0       0       2       0      10     157     216
## 5       0       0       0       0       0       0       0       0      14
## 6       0       0       0       0       4       5       3       7       0
##   pixel65 pixel66 pixel67 pixel68 pixel69 pixel70 pixel71 pixel72 pixel73
## 1       0       0       0       0       0       0       0       0       0
## 2       0       0       0       0       0       0       0       0       0
## 3     153     209     210     187     199     142     157     209     179
## 4     226     208     142      66     115     149     230     190     196
## 5     219     224     211      92      52     227     224     127      92
## 6       0      26     112     168     162     212     226     199     146
##   pixel74 pixel75 pixel76 pixel77 pixel78 pixel79 pixel80 pixel81 pixel82
## 1       0       0       0       0       0       0       0       0       0
## 2       0       0       0       0       0       0       0       0       0
## 3     199     233     138      44       0       0       0       0       0
## 4     198     172     222     107     165     211       0       0       0
## 5     196     237     136       0       0       0       0       0       0
## 6     168     124      25       0       0       0       4       5       0
##   pixel83 pixel84 pixel85 pixel86 pixel87 pixel88 pixel89 pixel90 pixel91
## 1       0       0       0       0       0       0       4       0       0
## 2       0       0       0       0       0       0       0       0       0
## 3       0       0       0       0       0       0       0       0     120
## 4       0       0       0       0       0       0       0     118     214
## 5       0       0       0       0       0       0       0       0       0
## 6       0       0       0       0       0       4       5       8       0
##   pixel92 pixel93 pixel94 pixel95 pixel96 pixel97 pixel98 pixel99 pixel100
## 1       0       0       0      62      61      21      29      23       51
## 2       0       0       0       0       0       0       0       0        0
## 3     218     215     207     198     198     223     219     214      225
## 4     174     168     109     200     124     150     143      58       63
## 5     106     238     202     205     224     225     217     218      222
## 6      15      95     142     170     144     123     156     172      140
##   pixel101 pixel102 pixel103 pixel104 pixel105 pixel106 pixel107 pixel108
## 1      136       61        0        0        0        0        0        0
## 2        0        0        0        0        0        0        0        0
## 3      190      177      195      209      204      139        0        1
## 4       89      137       97      168      138      142      195      156
## 5      227      202      206      218        0        0        0        0
## 6      131      135      160      137      141       53        0        0
##   pixel109 pixel110 pixel111 pixel112 pixel113 pixel114 pixel115 pixel116
## 1        0        0        0        0        0        0        0        0
## 2        0        0        0        0        0        0        0        0
## 3        0        0        0        0        0        0        0        0
## 4        0        0        0        0        0        0        0        0
## 5        0        0        0        0        0        0        0        0
## 6        3        0        0        0        0        0        0        5
##   pixel117 pixel118 pixel119 pixel120 pixel121 pixel122 pixel123 pixel124
## 1        0        0        0       88      201      228      225      255
## 2        0        0        0        0        0        0        0        0
## 3        0        0      208      200      197      202      193      203
## 4       25      140       70       80       43       71       96       93
## 5        0        0        0      166      239      216      214      192
## 6        6        0        0      165      130      120      130       56
##   pixel125 pixel126 pixel127 pixel128 pixel129 pixel130 pixel131 pixel132
## 1      115       62      137      255      235      222      255      135
## 2        0        0        0        0        0        0        0        0
## 3      207      228      245      196      197      202      193      190
## 4      151      121      197      143      107       82      101      111
## 5      181      205      204      180      187      205      208      230
## 6      124      122       68      143      111       98      132      125
##   pixel133 pixel134 pixel135 pixel136 pixel137 pixel138 pixel139 pixel140
## 1        0        0        0        0        0        0        0        0
## 2        0        0        0        0        0        0        0        0
## 3      167      203       27        0        0        0        0        0
## 4       80      137      193      208        6        0        0        0
## 5       45        0        0        0        0        0        0        0
## 6      111      164       60        0        6        0        0        0
##   pixel141 pixel142 pixel143 pixel144 pixel145 pixel146 pixel147 pixel148
## 1        0        0        0        0        0       47      252      234
## 2        0        0        0        0        0        0        0        0
## 3        0        0        0        0        0       89      217      200
## 4        0        0        0        0       74      194      107      146
## 5        0        0        0        0        0        0        0      220
## 6        0        0        0        3        7        0       99      165
##   pixel149 pixel150 pixel151 pixel152 pixel153 pixel154 pixel155 pixel156
## 1      238      224      215      215      229      108      180      207
## 2        0        0        0        0        1        1        0        0
## 3      211      175      189      205      199      218      216      181
## 4      178      185      182       77      185      218      210      175
## 5      235      233      213      205      201      185      184      200
## 6      135      154       98       66      130      141      114      143
##   pixel157 pixel158 pixel159 pixel160 pixel161 pixel162 pixel163 pixel164
## 1      214      224      231      249      254       45        0        0
## 2        0        0       81       21        0        1        0        1
## 3      179      185      192      198      184      198      121        0
## 4      174      235      217      217      129      180      210      208
## 5      199      223      224      232      101        0        0        0
## 6      113       71      107      147      117      176      172        0
##   pixel165 pixel166 pixel167 pixel168 pixel169 pixel170 pixel171 pixel172
## 1        0        0        0        0        0        0        1        0
## 2        0        0        0        0        0        0        0        0
## 3        0        0        0        0        0        0        0        0
## 4       89        0        0        0        0        0        0        0
## 5        0        0        0        0        0        0        0        0
## 6        5        0        0        0        0        0        0        4
##   pixel173 pixel174 pixel175 pixel176 pixel177 pixel178 pixel179 pixel180
## 1        0      214      222      210      213      224      225      217
## 2        0        0        0        0        0        0        0        1
## 3        0      140      220      204      223      187      182      200
## 4      179      213      203      177      228      192      193      162
## 5        0        0        0      252      238      226      226      221
## 6        0        0      197      188      169      148      146      132
##   pixel181 pixel182 pixel183 pixel184 pixel185 pixel186 pixel187 pixel188
## 1      220      254      233      219      221      217      223      221
## 2        0        0        0        0        0       14      200       49
## 3      207      217      213      210      207      180      161      192
## 4      143      172      196      205      181      180      140      134
## 5      224      195      198      223      229      205      202      235
## 6      110      133      107      139      131      133      141      156
##   pixel189 pixel190 pixel191 pixel192 pixel193 pixel194 pixel195 pixel196
## 1      240      254        0        0        1        0        0        0
## 2        0        0        0        0        0        0        0        0
## 3      184      199      162        0        0        0        0        0
## 4      176      194      171      170       65        0        0        0
## 5      158        0        0        0        0        0        0        0
## 6      143      170      186        0        0        0        0        0
##   pixel197 pixel198 pixel199 pixel200 pixel201 pixel202 pixel203 pixel204
## 1        1        0        0        0      128      237      207      224
## 2        0        0        0        0        0        0        0        0
## 3        0        0        0        0        0      166      218      203
## 4        0        0        0        0      184      194      229      209
## 5        0        0        0        0        0        0        9      228
## 6        0        0        0        6        0        0      225      130
##   pixel205 pixel206 pixel207 pixel208 pixel209 pixel210 pixel211 pixel212
## 1      224      207      216      214      210      208      211      221
## 2        2        1        1        1        0        1        0        0
## 3      195      185      196      189      167      181      206      177
## 4      176      198      129      227      225      140      196      130
## 5      241      125      238      228      225      212      215      222
## 6      140      169      148      110       45      117      137      118
##   pixel213 pixel214 pixel215 pixel216 pixel217 pixel218 pixel219 pixel220
## 1      208      219      213      226      211      237      150        0
## 2        0      162      184      165       20        0        1        1
## 3      176      181      165      187      179      189      183        0
## 4      179      145      109       79      182      223      164      195
## 5      250      168      141      243      197        0        0        0
## 6       53       97      147      147      154      133      202       18
##   pixel221 pixel222 pixel223 pixel224 pixel225 pixel226 pixel227 pixel228
## 1        0        0        0        0        0        2        0        0
## 2        3        4        1        0        0        0        0        0
## 3        0        0        0        0        0        0        0        0
## 4      233        0        0        0        0        0        0       38
## 5        0        0        0        0        0        0        0        0
## 6        0        0        0        0        0        0        0        7
##   pixel229 pixel230 pixel231 pixel232 pixel233 pixel234 pixel235 pixel236
## 1      237      222      215      207      210      212      213      206
## 2        0        0        0        0        0        0        0        1
## 3        0      196      215      211      206      201      196      180
## 4      180      177      213      202      159      129       98      179
## 5        0        0       51      232      247       34      225      237
## 6        0       48      211      135      124      140       83      158
##   pixel237 pixel238 pixel239 pixel240 pixel241 pixel242 pixel243 pixel244
## 1      214      213      214      213      210      215      214      206
## 2        2        0        2        0      120      183      154      206
## 3      188      210      206      190      173      180      187      192
## 4      149       90      187      211       61      134       91       57
## 5      219      222      223      216      248      182      124      246
## 6      145      160      126      151      136      156      113      110
##   pixel245 pixel246 pixel247 pixel248 pixel249 pixel250 pixel251 pixel252
## 1      199      218      255       13        0        2        0        0
## 2       32        0        5        5        0        0        0        0
## 3      184      192      199        0        0        0        0        0
## 4      118      212      220      218      207        0        0        0
## 5      200        0        0        0        0        0        0        0
## 6      167      168      217       93        0        0        0        0
##   pixel253 pixel254 pixel255 pixel256 pixel257 pixel258 pixel259 pixel260
## 1        0        4        0       85      228      210      218      200
## 2        0        0        0        0        0        0        0        0
## 3        0        0        0        0        0      212      217      224
## 4        0        0        0      114      154      142      182      219
## 5        0        0        0        0        0        0       69      236
## 6        0        0        0        6        0      104      219      208
##   pixel261 pixel262 pixel263 pixel264 pixel265 pixel266 pixel267 pixel268
## 1      211      208      203      215      210      209      209      210
## 2        0        0        0        2        0        3        0       76
## 3      211      216      201      189      184      202      210      194
## 4      130       88       81       52       54      106       93      110
## 5      255        0      218      240      219      221      222      214
## 6      166      157      130      170      137      144      155      160
##   pixel269 pixel270 pixel271 pixel272 pixel273 pixel274 pixel275 pixel276
## 1      213      211      210      217      206      213      231      175
## 2      227      151      139      158        0        0        0        0
## 3      182      173      173      176      192      195      208        0
## 4      159      222      227       83      117      253      218      210
## 5      252      153       71      248      215        0        0        0
## 6      150      160      158      120      194      220      213      128
##   pixel277 pixel278 pixel279 pixel280 pixel281 pixel282 pixel283 pixel284
## 1        0        0        0        0        0        0        0      217
## 2        0       66       23        0        0        0        0        0
## 3        0        0        0        0        0        0        0        0
## 4      206       48        0        0        0        0        0       18
## 5        0        0        0        0        0        0        0        0
## 6        0        0        0        0        0        0        0        6
##   pixel285 pixel286 pixel287 pixel288 pixel289 pixel290 pixel291 pixel292
## 1      224      215      206      205      204      217      230      222
## 2        0        0        0        0        1        0        1        0
## 3        0      222      215      228      203      212      199      198
## 4      127      208      228      185      172      240       91      126
## 5        0        0       82      248      247        0      231      236
## 6        0      133      213      235      206      169      194      139
##   pixel293 pixel294 pixel295 pixel296 pixel297 pixel298 pixel299 pixel300
## 1      215      224      233      228      232      228      224      207
## 2        0        0       55      224      162      143      121      204
## 3      191      186      228      195      191      161      178      177
## 4      208      165      154      213      214      229      215      175
## 5      219      221      221      212      253      109        0      247
## 6       76      119      178      139       99      120      199      167
##   pixel301 pixel302 pixel303 pixel304 pixel305 pixel306 pixel307 pixel308
## 1      212      215      213      229       31        0        4        0
## 2      236      144       21       74       90      190        8        0
## 3      198      194      210       29        0        0        0        0
## 4      222      204      153      130      125       39        0        0
## 5      224       19        0        0        0        0        0        0
## 6      190      226      210      152        0        0        0        0
##   pixel309 pixel310 pixel311 pixel312 pixel313 pixel314 pixel315 pixel316
## 1        1        0       21      225      212      212      203      211
## 2        0        0        0        0        0        0        0        0
## 3        0        0        0        0        0      244      215      235
## 4        0        0        0        0        0        0       28        0
## 5        0        0        0        0        0        0      106      252
## 6        0        0        0        4        0      165      209      233
##   pixel317 pixel318 pixel319 pixel320 pixel321 pixel322 pixel323 pixel324
## 1      225      193      139      136      195      147      156      139
## 2        0        1        0        0        0       42      228      160
## 3      206      214      202      171      201      178      203      190
## 4      212      228      170      221      205      225      228      210
## 5      198        0      250      230      220      219      219      212
## 6      237      131      158      151      124      147      157      149
##   pixel325 pixel326 pixel327 pixel328 pixel329 pixel330 pixel331 pixel332
## 1      128      162      197      223      207      220      213      232
## 2      148      125      165      223      208      221      246      211
## 3      180      187      196      183      206      195      206       44
## 4      178      214       89      117      213        0        0        0
## 5      252      129        0      255      232       59        0        0
## 6      108      137      187       97      147      233      204      184
##   pixel333 pixel334 pixel335 pixel336 pixel337 pixel338 pixel339 pixel340
## 1      177        0        0        0        0        0      123      226
## 2      174      151        0        0        0        0        0        1
## 3        0        0        0        0        0        0        0        0
## 4        0        0        0        0        0        0        0        0
## 5        0        0        0        0        0        0        0        0
## 6        0        0        0        0        0        0        0        0
##   pixel341 pixel342 pixel343 pixel344 pixel345 pixel346 pixel347 pixel348
## 1      207      211      209      205      228      158       90      103
## 2        3        0        1        0        3        0        9        0
## 3        0      233      221      237      182      206      207      195
## 4        0        0        0        0      196      141       56      176
## 5        0        0      134      252      150        0      254      215
## 6        0      199      202      233      245      165       76      138
##   pixel349 pixel350 pixel351 pixel352 pixel353 pixel354 pixel355 pixel356
## 1      186      138      100      121      147      158      183      226
## 2       23      230      168      147      119      163      227      206
## 3      200      192      224      191      182      177      180      186
## 4      210      164      162       91      135      196      158       69
## 5      219      219      219      216      233      222        0      253
## 6      174      160      148      159      155      163      125       90
##   pixel357 pixel358 pixel359 pixel360 pixel361 pixel362 pixel363 pixel364
## 1      208      214      209      216      255       13        0        1
## 2      200      190      206      186      139      171       41        0
## 3      178      196      207       60        0        0        0        0
## 4      181        0        0        3        2        3        0        0
## 5      237       89        0        0        0        0        0        0
## 6      230      228      203      210        0        0        0        0
##   pixel365 pixel366 pixel367 pixel368 pixel369 pixel370 pixel371 pixel372
## 1        0        0      226      219      202      208      206      205
## 2        0        0        0        0        0        0        0        0
## 3        0        0        0        0       16      249      224      229
## 4        0        0        0        0        0        1        0        0
## 5        0        0        0        0        0        0      163      253
## 6        0        0        0        0        0      218      196      238
##   pixel373 pixel374 pixel375 pixel376 pixel377 pixel378 pixel379 pixel380
## 1      216      184      156      150      193      170      164      168
## 2        3        4        0       16      209      185      139      118
## 3      192      215      207      198      198      192      226      193
## 4      150      190       88       50      145      194      159      120
## 5      126      115      253      211      222      220      219      219
## 6      249      204      101      143      184      171      149      163
##   pixel381 pixel382 pixel383 pixel384 pixel385 pixel386 pixel387 pixel388
## 1      188      186      200      219      216      213      213      211
## 2      181      227      209      204      210      199      225      157
## 3      192      180      176      185      196      200      217       87
## 4      136      207      230      144      171        4        0        1
## 5      213      253       54      206      243      144        0        0
## 6      173      158      103      132      255      217      205      222
##   pixel389 pixel390 pixel391 pixel392 pixel393 pixel394 pixel395 pixel396
## 1      233      148        0        0        0       45      227      204
## 2      127      190      111        0        1        3        2        1
## 3        0        0        0        0        0        0        0        0
## 4        0        0        0        0        0        0        0        0
## 5        0        0        0        0        0        0        0        0
## 6        0        0        0        0        0        0        0        0
##   pixel397 pixel398 pixel399 pixel400 pixel401 pixel402 pixel403 pixel404
## 1      214      211      218      222      221      230      229      221
## 2        3        2        3        0        0        0       67      214
## 3       53      222      223      235      205      220      200      151
## 4        0        0        0        0      187      220      182       72
## 5        0        0      205      255      149      209      234      219
## 6        0      234      193      237      255      169      139      199
##   pixel405 pixel406 pixel407 pixel408 pixel409 pixel410 pixel411 pixel412
## 1      213      224      233      226      220      219      221      224
## 2      187      139      111      191      229      203      208      208
## 3      206      198      214      199      171      161      197      186
## 4      139      199      192      232      255      244      198      170
## 5      221      220      219      219      213      244      164      224
## 6      182      181      154      171      186      181      154      148
##   pixel413 pixel414 pixel415 pixel416 pixel417 pixel418 pixel419 pixel420
## 1      223      217      210      218      213      254        0        0
## 2      196      223      188      100      128      155      112        0
## 3      218      198      216       88        0        0        0        0
## 4      189        2        0        3        0        0        0        0
## 5      240      195        0        0        0        0        0        0
## 6      242      216      208      220        0        0        0        0
##   pixel421 pixel422 pixel423 pixel424 pixel425 pixel426 pixel427 pixel428
## 1        0      157      226      203      207      211      209      215
## 2        0        0        0        0        0        0        0        0
## 3        0        0        0        0       75      223      223      237
## 4        0        0        0        0        0        0        0        0
## 5        0        0        0        0        0        0        9        0
## 6        0        0        0        0        7      239      190      243
##   pixel429 pixel430 pixel431 pixel432 pixel433 pixel434 pixel435 pixel436
## 1      205      198      207      208      201      201      197      203
## 2       48      161      218      171      147      116      185      235
## 3      199      219      203      193      204      201      220      201
## 4      186      175      181       93      164      230      134      153
## 5       20      253      219      221      219      219      219      219
## 6      231      103      164      144       88      188      157      177
##   pixel437 pixel438 pixel439 pixel440 pixel441 pixel442 pixel443 pixel444
## 1      205      210      207      213      214      214      214      213
## 2      201      209      203      204      220      208      126      133
## 3      193      176      189      167      218      202      198      109
## 4      142      137       79      143      183        0        0        2
## 5      221      224      230        0        0        0        0        0
## 6      154      118      181      105      226      223      210      219
##   pixel445 pixel446 pixel447 pixel448 pixel449 pixel450 pixel451 pixel452
## 1      208      234      107        0        0      235      213      204
## 2      162      164      187        0        0       12       16        9
## 3        0        0        0        0        0        0        0        0
## 4        0        0        0        0        0        0        0        0
## 5        0        0        0        0        0        0        0        0
## 6        0        0        0        0        0        0        0        0
##   pixel453 pixel454 pixel455 pixel456 pixel457 pixel458 pixel459 pixel460
## 1      211      210      209      213      202      197      204      215
## 2        4       19       73      170      211      188      145      149
## 3       79      250      226      243      196      222      201      206
## 4        0        0        0        0       93       72      144      138
## 5        0        0        0        0       49      254      217      221
## 6       30      242      187      246      196       93      162      115
##   pixel461 pixel462 pixel463 pixel464 pixel465 pixel466 pixel467 pixel468
## 1      217      213      212      210      206      212      203      211
## 2      148      136      222      218      207      208      215      224
## 3      205      207      222      185      194      186      187      144
## 4      164      113      124       98       80       57       97      138
## 5      219      219      219      220      221      216      253        7
## 6       91      187      151      182      114       65      158      116
##   pixel469 pixel470 pixel471 pixel472 pixel473 pixel474 pixel475 pixel476
## 1      218      215      214      208      209      222      230        0
## 2      193      140      146      162      156      118      203       37
## 3      207      208      226      111        0        0        0        0
## 4      124        4        0        3        0        0        0        0
## 5        0        0        0        0        0        0        0        0
## 6      176      220      216      223        0        0        0        0
##   pixel477 pixel478 pixel479 pixel480 pixel481 pixel482 pixel483 pixel484
## 1       52      255      207      200      208      213      210      210
## 2       47      255      188      187      182      203      206      182
## 3        0        0        0        0       87      249      222      240
## 4        0        0        0        0        0        0        0        0
## 5        0        0        0        0        0        0        6        0
## 6        0        0        0        0       46      206      187      237
##   pixel485 pixel486 pixel487 pixel488 pixel489 pixel490 pixel491 pixel492
## 1      208      207      202      201      209      216      216      216
## 2      147      140      148      148      148      134      180      218
## 3      226      193      187      205      206      198      212      190
## 4      149      171       98       70      180      152      227      173
## 5       94      229      216      220      218      218      219      220
## 6      156      106      186      180      178      173      160      176
##   pixel493 pixel494 pixel495 pixel496 pixel497 pixel498 pixel499 pixel500
## 1      216      214      212      205      215      201      228      208
## 2      221      225      204      156      134      139      144      140
## 3      189      185      185      191      211      212      210      113
## 4      143      180      183      127      206       38        0        5
## 5      219      218      226       52        0        5        0        0
## 6      180      161      188      136      133      226      219      219
##   pixel501 pixel502 pixel503 pixel504 pixel505 pixel506 pixel507 pixel508
## 1      214      212      218       25      118      217      201      206
## 2      123       97      206       30       88      203      164      167
## 3        0        0        0        0        0        0        0        0
## 4        0        0        0        0        0        0        0        0
## 5        0        0        0        0        0        0        0        0
## 6       20        0        0        0        0        0        0        0
##   pixel509 pixel510 pixel511 pixel512 pixel513 pixel514 pixel515 pixel516
## 1      208      213      208      205      206      210      211      202
## 2      170      161      147      147      156      159      153      152
## 3       95      249      227      236      219      213      186      203
## 4        1        0        0        0      195      210      226      113
## 5        0        0        4        0      119      231      214      220
## 6       76      208      185      249      152      149      171      110
##   pixel517 pixel518 pixel519 pixel520 pixel521 pixel522 pixel523 pixel524
## 1      199      207      208      209      210      207      210      210
## 2      155      150      134      136      153      145      136      151
## 3      219      198      206      218      194      177      181      195
## 4      187      224      210      191      181      224      212      198
## 5      217      218      219      220      221      217      224       34
## 6      163      174      160      167      190      138      149      154
##   pixel525 pixel526 pixel527 pixel528 pixel529 pixel530 pixel531 pixel532
## 1      245      139      119      255      202      203      236      114
## 2      164      168      170      166      153      130      200       10
## 3      148      229      206      122        0        0        0        0
## 4      172       36        0        6        0        0        0        0
## 5        0        3        0        0        0        0        0        0
## 6      147      225      216      206       45        0        0        0
##   pixel533 pixel534 pixel535 pixel536 pixel537 pixel538 pixel539 pixel540
## 1      171      238      212      203      220      216      217      209
## 2      131      195      150      133      132      142      160      166
## 3        0        0        0        0      106      248      228      224
## 4        0        0        0        0        1        0        0        0
## 5        0        0        0        0        0        0        3        0
## 6        0        0        0        0       89      202      186      226
##   pixel541 pixel542 pixel543 pixel544 pixel545 pixel546 pixel547 pixel548
## 1      207      205      210      211      206      204      206      209
## 2      162      153      152      153      151      154      163      147
## 3      206      202      200      206      191      190      194      203
## 4      153      197      171      175      161      171      199      224
## 5      113      231      213      222      217      218      219      220
## 6      152      167      122       74      151      187      149      166
##   pixel549 pixel550 pixel551 pixel552 pixel553 pixel554 pixel555 pixel556
## 1      211      215      210      206      221      242        0      224
## 2      152      163      205      208      174      175      178      181
## 3      196      180      180      185      148      228      214      117
## 4      187      206      192      176      179       48        0        6
## 5      219      219      219       10        0        2        0        0
## 6      182      113       71      133      168      208      218      179
##   pixel557 pixel558 pixel559 pixel560 pixel561 pixel562 pixel563 pixel564
## 1      234      230      181       26       39      145      201      255
## 2      168      150      196        1      155      228      197      172
## 3        0        0        0        0        0        0        0        0
## 4        1        0        0        0        0        0        0        0
## 5        0        0        0        0        0        0        0        0
## 6       25        0        0        0        0        0        0        0
##   pixel565 pixel566 pixel567 pixel568 pixel569 pixel570 pixel571 pixel572
## 1      157      115      250      200      207      206      207      213
## 2      138      123      121      122      126      129      135      139
## 3      110      242      225      239      218      204      201      202
## 4        0        0        0        0      180      195      136      230
## 5        0        0        3        0       51      227      215      221
## 6      108      193      180      197      152      155      160      115
##   pixel573 pixel574 pixel575 pixel576 pixel577 pixel578 pixel579 pixel580
## 1      216      206      205      206      207      206      215      207
## 2      144      158      177      192      239      244      178      176
## 3      211      193      197      217      203      183      184      175
## 4      240      148      204      140      173      199      193      156
## 5      217      217      219      220      218      219      213        0
## 6      168      192      154      161      193      141      122      159
##   pixel581 pixel582 pixel583 pixel584 pixel585 pixel586 pixel587 pixel588
## 1      221      238        0        0      188       85        0        0
## 2      183      179      185      177      147      148      192        0
## 3      212      219      206      122        0        0        0        0
## 4      213       37        0        5        0        0        0        0
## 5        0        1        0        0        0        0        0        0
## 6      156      193      213      170       29        0        0        0
##   pixel589 pixel590 pixel591 pixel592 pixel593 pixel594 pixel595 pixel596
## 1        0        0        0       31        0      129      253      190
## 2        0       80      196      199      212      209      190      176
## 3        0        0        0        0      122      249      234      241
## 4        0        0        0        0        0        1        0        0
## 5        0        0        0        0        0        0        2        0
## 6        0        0        0        0      141      193      170      169
##   pixel597 pixel598 pixel599 pixel600 pixel601 pixel602 pixel603 pixel604
## 1      207      208      208      208      209      211      211      209
## 2      170      178      183      192      204      204      202      144
## 3      216      215      196      200      222      208      195      225
## 4      150      101       72      167      158       95      177      234
## 5        0      216      217      219      218      218      219      219
## 6      151      161      163      153      168      198      155      153
##   pixel605 pixel606 pixel607 pixel608 pixel609 pixel610 pixel611 pixel612
## 1      209      209      212      201      226      165        0        0
## 2       59        3        0       67      217      184      188      178
## 3      212      181      186      183      227      214      211      121
## 4      113      142      112       59      152       22        0        3
## 5      218      220      246        0        0        2        0        0
## 6      188      164      161      170      148      195      210      188
##   pixel613 pixel614 pixel615 pixel616 pixel617 pixel618 pixel619 pixel620
## 1        0        0        0        0        2        0        0        0
## 2      166      160      188       13        0        0        0        3
## 3        0        0        0        0        0        0        0        0
## 4        0        0        0        0        0        0        0        0
## 5        0        0        0        0        0        0        0        0
## 6       60        0        0        0        0        0        0        0
##   pixel621 pixel622 pixel623 pixel624 pixel625 pixel626 pixel627 pixel628
## 1        0       89      254      199      199      192      196      198
## 2       51      105      179      217      235      227      208      201
## 3      148      230      237      228      214      213      201      207
## 4        0        0        0        0      197      178       82       47
## 5        0        0        2        0        0      217      216      216
## 6      178      184      188      163      148      160      163      164
##   pixel629 pixel630 pixel631 pixel632 pixel633 pixel634 pixel635 pixel636
## 1      199      201      202      203      204      203      203      200
## 2      133       58        0        0        0        0        0       16
## 3      214      201      204      235      191      161      185      180
## 4       64      106      112      121      110      189      225      121
## 5      219      218      219      219      217      222      235        0
## 6      162      202      155      156      187      168      152      172
##   pixel637 pixel638 pixel639 pixel640 pixel641 pixel642 pixel643 pixel644
## 1      222      155        0        3        3        3        2        0
## 2      187      194      184      185      175      181      131        0
## 3      216      201      212      119        0        0        0        0
## 4       98       58        0        4        0        0        0        0
## 5        0        2        0        0        0        0        0        0
## 6      148      173      207      224      100        0        0        0
##   pixel645 pixel646 pixel647 pixel648 pixel649 pixel650 pixel651 pixel652
## 1        0        0        1        5        0        0      255      218
## 2        0        3        0        0        0        0        0        0
## 3        0        0        0        0      151      230      235      229
## 4        0        0        0        0        0        2        0        0
## 5        0        0        0        0        0        0        2        0
## 6        0        0        0        0      188      181      204      194
##   pixel653 pixel654 pixel655 pixel656 pixel657 pixel658 pixel659 pixel660
## 1      226      232      228      224      222      220      219      219
## 2        0        0        0        0        0        0        0        5
## 3      218      209      198      193      226      182      189      240
## 4      202      219      161      135      205      200      156      195
## 5        0      212      216      217      219      218      219      219
## 6      146      158      161      169      177      185      154      148
##   pixel661 pixel662 pixel663 pixel664 pixel665 pixel666 pixel667 pixel668
## 1      217      221      220      212      236       95        0        2
## 2        5        5        0        0        0        0        0        0
## 3      200      186      188      188      218      216      209      110
## 4      231      234      218      182      223       99        0        6
## 5      216      224      204        0        0        2        0        0
## 6      168      169      157      161      155      188      209      190
##   pixel669 pixel670 pixel671 pixel672 pixel673 pixel674 pixel675 pixel676
## 1        0        0        0        0        0        0        0        0
## 2        0        0        0        0        0        0        0        0
## 3        0        0        0        0        0        0        0        0
## 4        0        0        0        0        0        0        0        0
## 5        0        0        0        0        0        0        0        0
## 6       62        0        0        0        0        0        0        0
##   pixel677 pixel678 pixel679 pixel680 pixel681 pixel682 pixel683 pixel684
## 1        0        0      155      194      168      170      171      173
## 2        0        0        0        0        0        0        0        0
## 3       96      237      233      237      207      200      203      191
## 4        0        4        0        0      188      152      118      222
## 5        0        0        4        0        3      217      216      217
## 6      117      198      189       80      216      201      205      205
##   pixel685 pixel686 pixel687 pixel688 pixel689 pixel690 pixel691 pixel692
## 1      173      179      177      175      172      171      167      161
## 2        0        0        0        0        0        0        0        0
## 3      213      170      186      239      209      186      173      186
## 4      214      203      233      226      193      200      173       53
## 5      219      218      220      220      218      222      209        0
## 6      209      233      189      197      211      202      200      201
##   pixel693 pixel694 pixel695 pixel696 pixel697 pixel698 pixel699 pixel700
## 1      180        0        0        1        0        1        0        0
## 2        0        0        0        0        0        0        0        0
## 3      156      199      217       84        0        0        0        0
## 4      166       97        0        6        0        0        0        0
## 5        0        2        0        0        0        0        0        0
## 6      210      150      220      197       72        0        0        0
##   pixel701 pixel702 pixel703 pixel704 pixel705 pixel706 pixel707 pixel708
## 1        0        0        0        0        0        0        0        0
## 2        0        0        0        0        0        0        0        0
## 3        0        0        0        0       89      237      207      121
## 4        0        0        0        0        0        3        0        2
## 5        0        0        0        0        0        0        3        0
## 6        0        0        0        0      151      214      181        6
##   pixel709 pixel710 pixel711 pixel712 pixel713 pixel714 pixel715 pixel716
## 1        0        0        0        0        0        0        0        0
## 2        0        0        0        0        0        0        0        0
## 3      255      193      183      193      209      224      208      224
## 4      182      152       51       89      174      183      168      112
## 5        4      214      211      213      213      215      213      211
## 6      153       82       56       30        3        0       73       74
##   pixel717 pixel718 pixel719 pixel720 pixel721 pixel722 pixel723 pixel724
## 1        0        0        0        0        0        0        0        0
## 2        0        0        0        0        0        0        0        0
## 3      203      160      184      223        0      186      216      102
## 4      109      181      170      136      108       60        0        4
## 5      214      220      200        0        0        1        0        0
## 6       41       28       30       46       78       13      201      146
##   pixel725 pixel726 pixel727 pixel728 pixel729 pixel730 pixel731 pixel732
## 1        0        0        0        0        0        0        0        0
## 2        0        0        0        0        0        0        0        0
## 3        0        0        0        0        0        0        0        0
## 4        0        0        0        0        0        0        0        0
## 5        0        0        0        0        0        0        0        0
## 6       39        0        0        0        0        0        0        0
##   pixel733 pixel734 pixel735 pixel736 pixel737 pixel738 pixel739 pixel740
## 1        0        0        0        0        0        0        0        0
## 2        0        0        0        0        0        0        0        0
## 3      108      242      253        0      112      255      217      211
## 4        0        2        0        5      194      193      204      104
## 5        0        0        3        0        0      214      232      229
## 6        7       34       58        0        0        0        0        0
##   pixel741 pixel742 pixel743 pixel744 pixel745 pixel746 pixel747 pixel748
## 1        0        0        0        0        0        0        0        0
## 2        0        0        0        0        0        0        0        0
## 3      227      245      195      194      211      220      214       74
## 4      116      241      217      196      171      249      207      197
## 5      249      245      248      252      230      237      229        0
## 6        0        0        0        0        0        0        0        0
##   pixel749 pixel750 pixel751 pixel752 pixel753 pixel754 pixel755 pixel756
## 1        0        0        0        0        0        0        0        0
## 2        0        0        0        0        0        0        0        0
## 3        0      255      222      128        0        0        0        0
## 4      202       45        0        3        0        0        0        0
## 5        0        1        0        0        0        0        0        0
## 6        0        0        0        0        0        0        0        0
##   pixel757 pixel758 pixel759 pixel760 pixel761 pixel762 pixel763 pixel764
## 1        0        0        0        0        0        0        0        0
## 2        0        0        0        0        0        0        0        0
## 3        0        0        0        0        0       44       12        0
## 4        0        0        0        0        0        0        1        0
## 5        0        0        0        0        0        0        0        0
## 6        0        0        0        4        0        0        0        2
##   pixel765 pixel766 pixel767 pixel768 pixel769 pixel770 pixel771 pixel772
## 1        0        0        0        0        0        0        0        0
## 2        0        0        0        0        0        0        0        0
## 3        0       40      134      162      191      214      163      146
## 4        0        0       22       21       25       69       52       45
## 5        0       68      116      112      136      147      144      121
## 6        4        9        7        8        7        5        4        8
##   pixel773 pixel774 pixel775 pixel776 pixel777 pixel778 pixel779 pixel780
## 1        0        0        0        0        0        0        0        0
## 2        0        0        0        0        0        0        0        0
## 3      165       79        0        0        0       30       43        0
## 4       74       39        3        0        0        0        0        1
## 5      102       63        0        0        0        0        0        0
## 6       12        5        7        8        7        4        3        7
##   pixel781 pixel782 pixel783 pixel784
## 1        0        0        0        0
## 2        0        0        0        0
## 3        0        0        0        0
## 4        0        0        0        0
## 5        0        0        0        0
## 6        5        0        0        0

Selanjutnya melakukan pemisahan pada prediktor dengan target variabel. Di sini predikornya adalah label

library(dplyr)

train_x <- fmnist_train %>% select(-label)
test_x <- fmnist_test %>% select(-label)

train_y <- fmnist_train$label
test_y <-  fmnist_test$label

Lalu, agar dapat diterima oleh Keras dan Python, kita harus ubah ke format data kita menjadi array menggunakan fungsi array_reshape(x, dim).

#mengubah data frame dengan `as.matrix` agar bisa digunakan

train_x <- array_reshape(x = as.matrix(train_x), 
                         dim = dim(train_x))

test_x <- array_reshape(x = as.matrix(test_x),
                        dim = dim(test_x))

Lalu, dilanjut melakukan scaling. Alasan dilakukan scaling adalah kita mengetahui prediktor pada data ini adalah piksel dari 0 sampai dengan 255. Piksel ini akan kita scaling dan mengubah menjadi range antara 0 sampai dengan 1

train_x <- train_x/255
test_x <- test_x/255

Selanjutnya, kita ubah kategorinya dari angka 0-9 menjadi one-hot encoding menggunakan to_categorical(data) dari keras.

train_y <- to_categorical(train_y,10)
test_y <- to_categorical(test_y,10)

Arsitektur Neural Network

Langkah selanjutnya adalah membangun arsitektur Neural Network. Beberapa ketentuan ketika membuat arsitektur Neural Network:

  1. Selalu diawali keras_model_sequential()
  2. Layer pertama yang dibuat akan menjadi hidden layer pertama
  3. Input layer otomatis terbentuk dengan memasukkan parameter input_shape pada layer pertama
  4. Layer terakhir yang dibuat akan menjadi output layer

Pertama, kita buat dulu object untuk menyimpan informasi jumlah kolom dari prediktor dan jumlah kategori dari target variabel.

input_dim <- ncol(train_x) #jumlah kolom target
num_class <- n_distinct(fmnist_train$label) #mencari nilai unique *menghitung jumlah nilai unik*

input_dim
## [1] 784
num_class
## [1] 10

Kita akan mencoba membuat 3 model lalu membandingkan mana jauh lebih bagus untuk digunakan pada data test

Susunan dari model_1 terdiri dari :

  1. layer_dense(input_shape = input_dim, units = 64, activation = "relu", name = "hidden_1"): Ini adalah bagian pertama dari model yang ditambahkan ke dalam model sequential. Ini merupakan layer pertama dari model, berfungsi sebagai input layer sekaligus hidden layer. Parameter input_shape menandakan jumlah fitur atau dimensi input data yang akan masuk ke dalam model. units = 64 menunjukkan bahwa layer ini memiliki 64 neuron. Fungsi aktivasi yang digunakan adalah ReLU ("relu").

  2. layer_dense(units = num_class, activation = "softmax", name = "Output"): Bagian ini menambahkan layer kedua dan terakhir ke dalam model. Layer ini berperan sebagai output layer. units = num_class menunjukkan jumlah neuron dalam output layer, yang seharusnya sesuai dengan jumlah kelas atau kategori yang ingin diprediksi oleh model. Activation function yang digunakan di sini adalah softmax, yang cocok untuk kasus klasifikasi multiclass. Softmax mengonversi output menjadi distribusi probabilitas di antara kelas-kelas yang mungkin.

Model Architecture

library(tensorflow)
## Warning: package 'tensorflow' was built under R version 4.3.2
## 
## Attaching package: 'tensorflow'
## The following object is masked from 'package:caret':
## 
##     train
set_random_seed(100)

# Membuat arsitektur
model_1 <- keras_model_sequential(name = "model_1") %>% 
  
  # input layer + hidden layer 
layer_dense(input_shape = input_dim, #jumlah prediktor
            units = 64,#jumlah node/neuron
   activation = "relu", #fungsi aktivasi
            name = "hidden_1") %>%  #nama dari hidden layer

  # output layer
 layer_dense(units = num_class #jumlah kelas target
             , activation = "softmax",
             name = "Output")

Model Compile

Langkah berikutnya adalah compiling, yaitu menentukan error function, optimizer, dan metrics yang akan ditunjukkan selama training.

Error/Loss Function sesuai jenis kasus:

  • Regresi: Mean Squared Error (MSE), Mean Absolute Error (MAE)
  • Klasifikasi 2 kelas: Binary Cross-Entropy
  • Klasifikasi > 2 kelas: Categorical Cross-Entropy

Optimizer atau cara model mengupdate bobot dan belajar:

  • SGD: Stochastic Gradient Descent (improvement dari Gradient Descent)
  • ADAM: Adam Optimizer (improvement dari SGD)

Learning Rate: angka yang menunjukkan seberapa jauh perubahan bobot dari bobot sebelumnya

Metrics

Berikut susunan yang akan kita gunakan :

# COMPILE MODEL
 model_1 %>% compile(loss = "categorical_crossentropy",
          optimizer = optimizer_sgd(learning_rate = 0.1),metrics = "accuracy")

Model Fitting

Untuk training kita akan menggunakan metode fit() dari keras

# FIT MODEL
history <- model_1 %>% 
  fit(x = train_x,
      y = train_y,
      epochs = 10,
      batch_size = 4200, #ada total 4200 data
      validation_data = list(test_x,test_y),
      verbose = 1)
## Epoch 1/10
## 
##  1/15 [=>............................] - ETA: 25s - loss: 2.4317 - accuracy: 0.0631
##  2/15 [===>..........................] - ETA: 0s - loss: 2.2963 - accuracy: 0.1355 
##  3/15 [=====>........................] - ETA: 0s - loss: 2.2037 - accuracy: 0.1640
##  4/15 [=======>......................] - ETA: 0s - loss: 2.1302 - accuracy: 0.2045
##  5/15 [=========>....................] - ETA: 0s - loss: 2.0648 - accuracy: 0.2340
##  6/15 [===========>..................] - ETA: 0s - loss: 2.0063 - accuracy: 0.2789
##  7/15 [=============>................] - ETA: 0s - loss: 1.9586 - accuracy: 0.2990
##  8/15 [===============>..............] - ETA: 0s - loss: 1.9206 - accuracy: 0.3321
##  9/15 [=================>............] - ETA: 0s - loss: 1.8872 - accuracy: 0.3435
## 10/15 [===================>..........] - ETA: 0s - loss: 1.8480 - accuracy: 0.3674
## 11/15 [=====================>........] - ETA: 0s - loss: 1.8114 - accuracy: 0.3856
## 12/15 [=======================>......] - ETA: 0s - loss: 1.7774 - accuracy: 0.4030
## 13/15 [=========================>....] - ETA: 0s - loss: 1.7457 - accuracy: 0.4176
## 14/15 [===========================>..] - ETA: 0s - loss: 1.7137 - accuracy: 0.4316
## 15/15 [==============================] - 3s 118ms/step - loss: 1.7053 - accuracy: 0.4352 - val_loss: 1.2854 - val_accuracy: 0.5969
## Epoch 2/10
## 
##  1/15 [=>............................] - ETA: 0s - loss: 1.2988 - accuracy: 0.5888
##  3/15 [=====>........................] - ETA: 0s - loss: 1.2468 - accuracy: 0.6085
##  5/15 [=========>....................] - ETA: 0s - loss: 1.2032 - accuracy: 0.6200
##  7/15 [=============>................] - ETA: 0s - loss: 1.1737 - accuracy: 0.6234
##  8/15 [===============>..............] - ETA: 0s - loss: 1.1619 - accuracy: 0.6265
## 10/15 [===================>..........] - ETA: 0s - loss: 1.1397 - accuracy: 0.6311
## 12/15 [=======================>......] - ETA: 0s - loss: 1.1220 - accuracy: 0.6350
## 14/15 [===========================>..] - ETA: 0s - loss: 1.1039 - accuracy: 0.6394
## 15/15 [==============================] - 1s 60ms/step - loss: 1.1009 - accuracy: 0.6402 - val_loss: 0.9708 - val_accuracy: 0.6561
## Epoch 3/10
## 
##  1/15 [=>............................] - ETA: 0s - loss: 0.9430 - accuracy: 0.6645
##  3/15 [=====>........................] - ETA: 0s - loss: 0.9383 - accuracy: 0.6638
##  5/15 [=========>....................] - ETA: 0s - loss: 0.9277 - accuracy: 0.6713
##  6/15 [===========>..................] - ETA: 0s - loss: 0.9283 - accuracy: 0.6697
##  7/15 [=============>................] - ETA: 0s - loss: 0.9234 - accuracy: 0.6733
##  9/15 [=================>............] - ETA: 0s - loss: 0.9160 - accuracy: 0.6775
## 11/15 [=====================>........] - ETA: 0s - loss: 0.9103 - accuracy: 0.6805
## 13/15 [=========================>....] - ETA: 0s - loss: 0.9063 - accuracy: 0.6831
## 15/15 [==============================] - ETA: 0s - loss: 0.9025 - accuracy: 0.6838
## 15/15 [==============================] - 1s 54ms/step - loss: 0.9025 - accuracy: 0.6838 - val_loss: 0.8729 - val_accuracy: 0.6824
## Epoch 4/10
## 
##  1/15 [=>............................] - ETA: 0s - loss: 0.8798 - accuracy: 0.6850
##  3/15 [=====>........................] - ETA: 0s - loss: 0.8590 - accuracy: 0.6971
##  5/15 [=========>....................] - ETA: 0s - loss: 0.8558 - accuracy: 0.6944
##  7/15 [=============>................] - ETA: 0s - loss: 0.8506 - accuracy: 0.6973
##  9/15 [=================>............] - ETA: 0s - loss: 0.8377 - accuracy: 0.7047
## 11/15 [=====================>........] - ETA: 0s - loss: 0.8311 - accuracy: 0.7084
## 13/15 [=========================>....] - ETA: 0s - loss: 0.8270 - accuracy: 0.7104
## 15/15 [==============================] - ETA: 0s - loss: 0.8244 - accuracy: 0.7119
## 15/15 [==============================] - 1s 50ms/step - loss: 0.8244 - accuracy: 0.7119 - val_loss: 0.7888 - val_accuracy: 0.7366
## Epoch 5/10
## 
##  1/15 [=>............................] - ETA: 0s - loss: 0.7862 - accuracy: 0.7367
##  3/15 [=====>........................] - ETA: 0s - loss: 0.7646 - accuracy: 0.7413
##  4/15 [=======>......................] - ETA: 0s - loss: 0.7678 - accuracy: 0.7366
##  6/15 [===========>..................] - ETA: 0s - loss: 0.7657 - accuracy: 0.7391
##  8/15 [===============>..............] - ETA: 0s - loss: 0.7679 - accuracy: 0.7393
## 10/15 [===================>..........] - ETA: 0s - loss: 0.7653 - accuracy: 0.7421
## 12/15 [=======================>......] - ETA: 0s - loss: 0.7689 - accuracy: 0.7399
## 14/15 [===========================>..] - ETA: 0s - loss: 0.7680 - accuracy: 0.7402
## 15/15 [==============================] - 1s 51ms/step - loss: 0.7669 - accuracy: 0.7404 - val_loss: 0.7291 - val_accuracy: 0.7668
## Epoch 6/10
## 
##  1/15 [=>............................] - ETA: 0s - loss: 0.7059 - accuracy: 0.7790
##  3/15 [=====>........................] - ETA: 0s - loss: 0.7117 - accuracy: 0.7693
##  5/15 [=========>....................] - ETA: 0s - loss: 0.7111 - accuracy: 0.7662
##  7/15 [=============>................] - ETA: 0s - loss: 0.7195 - accuracy: 0.7617
##  9/15 [=================>............] - ETA: 0s - loss: 0.7236 - accuracy: 0.7579
## 11/15 [=====================>........] - ETA: 0s - loss: 0.7223 - accuracy: 0.7575
## 13/15 [=========================>....] - ETA: 0s - loss: 0.7277 - accuracy: 0.7538
## 15/15 [==============================] - ETA: 0s - loss: 0.7254 - accuracy: 0.7529
## 15/15 [==============================] - 1s 49ms/step - loss: 0.7254 - accuracy: 0.7529 - val_loss: 0.6948 - val_accuracy: 0.7605
## Epoch 7/10
## 
##  1/15 [=>............................] - ETA: 0s - loss: 0.7161 - accuracy: 0.7543
##  3/15 [=====>........................] - ETA: 0s - loss: 0.6914 - accuracy: 0.7744
##  5/15 [=========>....................] - ETA: 0s - loss: 0.6842 - accuracy: 0.7752
##  7/15 [=============>................] - ETA: 0s - loss: 0.6837 - accuracy: 0.7732
##  9/15 [=================>............] - ETA: 0s - loss: 0.6858 - accuracy: 0.7716
## 11/15 [=====================>........] - ETA: 0s - loss: 0.6866 - accuracy: 0.7713
## 13/15 [=========================>....] - ETA: 0s - loss: 0.6834 - accuracy: 0.7716
## 15/15 [==============================] - ETA: 0s - loss: 0.6841 - accuracy: 0.7708
## 15/15 [==============================] - 1s 50ms/step - loss: 0.6841 - accuracy: 0.7708 - val_loss: 0.6906 - val_accuracy: 0.7711
## Epoch 8/10
## 
##  1/15 [=>............................] - ETA: 0s - loss: 0.6822 - accuracy: 0.7702
##  3/15 [=====>........................] - ETA: 0s - loss: 0.6972 - accuracy: 0.7610
##  5/15 [=========>....................] - ETA: 0s - loss: 0.7038 - accuracy: 0.7551
##  7/15 [=============>................] - ETA: 0s - loss: 0.6954 - accuracy: 0.7581
##  9/15 [=================>............] - ETA: 0s - loss: 0.6927 - accuracy: 0.7590
## 11/15 [=====================>........] - ETA: 0s - loss: 0.6957 - accuracy: 0.7588
## 13/15 [=========================>....] - ETA: 0s - loss: 0.6936 - accuracy: 0.7595
## 15/15 [==============================] - ETA: 0s - loss: 0.6915 - accuracy: 0.7601
## 15/15 [==============================] - 1s 50ms/step - loss: 0.6915 - accuracy: 0.7601 - val_loss: 0.6487 - val_accuracy: 0.7822
## Epoch 9/10
## 
##  1/15 [=>............................] - ETA: 0s - loss: 0.6562 - accuracy: 0.7729
##  3/15 [=====>........................] - ETA: 0s - loss: 0.6415 - accuracy: 0.7823
##  5/15 [=========>....................] - ETA: 0s - loss: 0.6541 - accuracy: 0.7757
##  7/15 [=============>................] - ETA: 0s - loss: 0.6562 - accuracy: 0.7745
##  9/15 [=================>............] - ETA: 0s - loss: 0.6527 - accuracy: 0.7769
## 11/15 [=====================>........] - ETA: 0s - loss: 0.6485 - accuracy: 0.7782
## 13/15 [=========================>....] - ETA: 0s - loss: 0.6482 - accuracy: 0.7775
## 15/15 [==============================] - ETA: 0s - loss: 0.6471 - accuracy: 0.7781
## 15/15 [==============================] - 1s 49ms/step - loss: 0.6471 - accuracy: 0.7781 - val_loss: 0.6436 - val_accuracy: 0.7786
## Epoch 10/10
## 
##  1/15 [=>............................] - ETA: 0s - loss: 0.6610 - accuracy: 0.7824
##  3/15 [=====>........................] - ETA: 0s - loss: 0.6463 - accuracy: 0.7823
##  5/15 [=========>....................] - ETA: 0s - loss: 0.6426 - accuracy: 0.7801
##  7/15 [=============>................] - ETA: 0s - loss: 0.6416 - accuracy: 0.7802
##  9/15 [=================>............] - ETA: 0s - loss: 0.6441 - accuracy: 0.7789
## 11/15 [=====================>........] - ETA: 0s - loss: 0.6430 - accuracy: 0.7792
## 13/15 [=========================>....] - ETA: 0s - loss: 0.6397 - accuracy: 0.7803
## 15/15 [==============================] - ETA: 0s - loss: 0.6383 - accuracy: 0.7814
## 15/15 [==============================] - 1s 48ms/step - loss: 0.6383 - accuracy: 0.7814 - val_loss: 0.6398 - val_accuracy: 0.7825
plot(history)

Kita melakukan hal yang sama terhadap model_2 dan model_3

Model 2 :

library(tensorflow)
set_random_seed(100)

# Membuat arsitektur
model_2 <- keras_model_sequential(name = "model_2") %>%  # input layer + hidden layer 
layer_dense(input_shape = input_dim, #jumlah prediktor
            units = 128,#jumlah node/neuron
   activation = "relu", #fungsi aktivasi
            name = "hidden_1") %>%  #nama dari hidden layer

  # hidden layer 2
  layer_dense( units = 64,#jumlah node/neuron
   activation = "relu", #fungsi aktivasi
            name = "hidden_2") %>%  #nama dari hidden layer

  # output layer
 layer_dense(units = num_class #jumlah kelas target
             , activation = "softmax",
             name = "Output")
  

# COMPILE MODEL
 model_2 %>% compile(loss = "categorical_crossentropy",
          optimizer = optimizer_sgd(learning_rate = 0.1),metrics = "accuracy")

# FIT MODEL
history_2 <- model_2 %>% 
  fit(x = train_x,
      y = train_y,
      epochs = 30,
      batch_size = 4200, 
      validation_data = list(test_x,test_y),
      verbose = 1)
## Epoch 1/30
## 
##  1/15 [=>............................] - ETA: 14s - loss: 2.2856 - accuracy: 0.1257
##  2/15 [===>..........................] - ETA: 1s - loss: 2.2316 - accuracy: 0.1883 
##  3/15 [=====>........................] - ETA: 1s - loss: 2.1849 - accuracy: 0.2325
##  4/15 [=======>......................] - ETA: 0s - loss: 2.1416 - accuracy: 0.2793
##  5/15 [=========>....................] - ETA: 0s - loss: 2.0966 - accuracy: 0.3231
##  6/15 [===========>..................] - ETA: 0s - loss: 2.0506 - accuracy: 0.3583
##  7/15 [=============>................] - ETA: 0s - loss: 2.0050 - accuracy: 0.3902
##  8/15 [===============>..............] - ETA: 0s - loss: 1.9606 - accuracy: 0.4151
##  9/15 [=================>............] - ETA: 0s - loss: 1.9223 - accuracy: 0.4307
## 10/15 [===================>..........] - ETA: 0s - loss: 1.8889 - accuracy: 0.4374
## 11/15 [=====================>........] - ETA: 0s - loss: 1.8632 - accuracy: 0.4388
## 12/15 [=======================>......] - ETA: 0s - loss: 1.8349 - accuracy: 0.4490
## 13/15 [=========================>....] - ETA: 0s - loss: 1.7993 - accuracy: 0.4593
## 14/15 [===========================>..] - ETA: 0s - loss: 1.7650 - accuracy: 0.4709
## 15/15 [==============================] - 3s 109ms/step - loss: 1.7557 - accuracy: 0.4739 - val_loss: 1.3035 - val_accuracy: 0.5877
## Epoch 2/30
## 
##  1/15 [=>............................] - ETA: 0s - loss: 1.3157 - accuracy: 0.5857
##  2/15 [===>..........................] - ETA: 0s - loss: 1.2988 - accuracy: 0.6070
##  3/15 [=====>........................] - ETA: 0s - loss: 1.2663 - accuracy: 0.6106
##  4/15 [=======>......................] - ETA: 0s - loss: 1.2424 - accuracy: 0.6179
##  5/15 [=========>....................] - ETA: 0s - loss: 1.2165 - accuracy: 0.6215
##  6/15 [===========>..................] - ETA: 0s - loss: 1.1994 - accuracy: 0.6287
##  7/15 [=============>................] - ETA: 0s - loss: 1.1845 - accuracy: 0.6252
##  8/15 [===============>..............] - ETA: 0s - loss: 1.1776 - accuracy: 0.6292
##  9/15 [=================>............] - ETA: 0s - loss: 1.1632 - accuracy: 0.6323
## 10/15 [===================>..........] - ETA: 0s - loss: 1.1521 - accuracy: 0.6331
## 11/15 [=====================>........] - ETA: 0s - loss: 1.1472 - accuracy: 0.6345
## 12/15 [=======================>......] - ETA: 0s - loss: 1.1406 - accuracy: 0.6362
## 13/15 [=========================>....] - ETA: 0s - loss: 1.1292 - accuracy: 0.6378
## 14/15 [===========================>..] - ETA: 0s - loss: 1.1203 - accuracy: 0.6387
## 15/15 [==============================] - 1s 81ms/step - loss: 1.1179 - accuracy: 0.6391 - val_loss: 0.9906 - val_accuracy: 0.6485
## Epoch 3/30
## 
##  1/15 [=>............................] - ETA: 0s - loss: 0.9488 - accuracy: 0.6664
##  2/15 [===>..........................] - ETA: 0s - loss: 0.9443 - accuracy: 0.6640
##  3/15 [=====>........................] - ETA: 0s - loss: 0.9562 - accuracy: 0.6582
##  4/15 [=======>......................] - ETA: 0s - loss: 0.9623 - accuracy: 0.6600
##  5/15 [=========>....................] - ETA: 0s - loss: 0.9614 - accuracy: 0.6606
##  6/15 [===========>..................] - ETA: 0s - loss: 0.9624 - accuracy: 0.6617
##  7/15 [=============>................] - ETA: 0s - loss: 0.9561 - accuracy: 0.6618
##  8/15 [===============>..............] - ETA: 0s - loss: 0.9508 - accuracy: 0.6645
##  9/15 [=================>............] - ETA: 0s - loss: 0.9435 - accuracy: 0.6667
## 10/15 [===================>..........] - ETA: 0s - loss: 0.9368 - accuracy: 0.6697
## 11/15 [=====================>........] - ETA: 0s - loss: 0.9309 - accuracy: 0.6723
## 12/15 [=======================>......] - ETA: 0s - loss: 0.9246 - accuracy: 0.6757
## 13/15 [=========================>....] - ETA: 0s - loss: 0.9208 - accuracy: 0.6763
## 14/15 [===========================>..] - ETA: 0s - loss: 0.9174 - accuracy: 0.6771
## 15/15 [==============================] - 1s 80ms/step - loss: 0.9167 - accuracy: 0.6773 - val_loss: 0.8580 - val_accuracy: 0.6902
## Epoch 4/30
## 
##  1/15 [=>............................] - ETA: 0s - loss: 0.8677 - accuracy: 0.6943
##  2/15 [===>..........................] - ETA: 0s - loss: 0.8542 - accuracy: 0.7002
##  3/15 [=====>........................] - ETA: 0s - loss: 0.8465 - accuracy: 0.6963
##  4/15 [=======>......................] - ETA: 0s - loss: 0.8515 - accuracy: 0.6968
##  5/15 [=========>....................] - ETA: 0s - loss: 0.8456 - accuracy: 0.7002
##  6/15 [===========>..................] - ETA: 0s - loss: 0.8462 - accuracy: 0.6998
##  7/15 [=============>................] - ETA: 0s - loss: 0.8475 - accuracy: 0.7038
##  8/15 [===============>..............] - ETA: 0s - loss: 0.8441 - accuracy: 0.7058
##  9/15 [=================>............] - ETA: 0s - loss: 0.8471 - accuracy: 0.7080
## 10/15 [===================>..........] - ETA: 0s - loss: 0.8394 - accuracy: 0.7111
## 11/15 [=====================>........] - ETA: 0s - loss: 0.8368 - accuracy: 0.7129
## 12/15 [=======================>......] - ETA: 0s - loss: 0.8318 - accuracy: 0.7132
## 13/15 [=========================>....] - ETA: 0s - loss: 0.8311 - accuracy: 0.7145
## 14/15 [===========================>..] - ETA: 0s - loss: 0.8253 - accuracy: 0.7170
## 15/15 [==============================] - 1s 81ms/step - loss: 0.8246 - accuracy: 0.7173 - val_loss: 0.7572 - val_accuracy: 0.7439
## Epoch 5/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.7609 - accuracy: 0.7490
##  2/15 [===>..........................] - ETA: 1s - loss: 0.7647 - accuracy: 0.7425
##  3/15 [=====>........................] - ETA: 0s - loss: 0.7559 - accuracy: 0.7466
##  4/15 [=======>......................] - ETA: 0s - loss: 0.7611 - accuracy: 0.7420
##  5/15 [=========>....................] - ETA: 0s - loss: 0.7556 - accuracy: 0.7414
##  6/15 [===========>..................] - ETA: 0s - loss: 0.7542 - accuracy: 0.7433
##  7/15 [=============>................] - ETA: 0s - loss: 0.7540 - accuracy: 0.7416
##  8/15 [===============>..............] - ETA: 0s - loss: 0.7510 - accuracy: 0.7424
##  9/15 [=================>............] - ETA: 0s - loss: 0.7476 - accuracy: 0.7429
## 10/15 [===================>..........] - ETA: 0s - loss: 0.7465 - accuracy: 0.7438
## 11/15 [=====================>........] - ETA: 0s - loss: 0.7439 - accuracy: 0.7450
## 12/15 [=======================>......] - ETA: 0s - loss: 0.7443 - accuracy: 0.7450
## 13/15 [=========================>....] - ETA: 0s - loss: 0.7420 - accuracy: 0.7457
## 14/15 [===========================>..] - ETA: 0s - loss: 0.7424 - accuracy: 0.7458
## 15/15 [==============================] - 1s 83ms/step - loss: 0.7420 - accuracy: 0.7460 - val_loss: 0.7533 - val_accuracy: 0.7389
## Epoch 6/30
## 
##  1/15 [=>............................] - ETA: 0s - loss: 0.7271 - accuracy: 0.7524
##  2/15 [===>..........................] - ETA: 0s - loss: 0.7493 - accuracy: 0.7432
##  3/15 [=====>........................] - ETA: 1s - loss: 0.7453 - accuracy: 0.7377
##  4/15 [=======>......................] - ETA: 1s - loss: 0.7548 - accuracy: 0.7358
##  5/15 [=========>....................] - ETA: 0s - loss: 0.7496 - accuracy: 0.7363
##  6/15 [===========>..................] - ETA: 0s - loss: 0.7560 - accuracy: 0.7328
##  7/15 [=============>................] - ETA: 0s - loss: 0.7689 - accuracy: 0.7282
##  8/15 [===============>..............] - ETA: 0s - loss: 0.7743 - accuracy: 0.7259
##  9/15 [=================>............] - ETA: 0s - loss: 0.7713 - accuracy: 0.7255
## 10/15 [===================>..........] - ETA: 0s - loss: 0.7660 - accuracy: 0.7261
## 11/15 [=====================>........] - ETA: 0s - loss: 0.7615 - accuracy: 0.7281
## 12/15 [=======================>......] - ETA: 0s - loss: 0.7595 - accuracy: 0.7271
## 13/15 [=========================>....] - ETA: 0s - loss: 0.7576 - accuracy: 0.7287
## 14/15 [===========================>..] - ETA: 0s - loss: 0.7523 - accuracy: 0.7296
## 15/15 [==============================] - 1s 87ms/step - loss: 0.7507 - accuracy: 0.7305 - val_loss: 0.6717 - val_accuracy: 0.7604
## Epoch 7/30
## 
##  1/15 [=>............................] - ETA: 0s - loss: 0.6919 - accuracy: 0.7517
##  2/15 [===>..........................] - ETA: 0s - loss: 0.6880 - accuracy: 0.7614
##  3/15 [=====>........................] - ETA: 0s - loss: 0.6766 - accuracy: 0.7694
##  4/15 [=======>......................] - ETA: 0s - loss: 0.6687 - accuracy: 0.7745
##  5/15 [=========>....................] - ETA: 0s - loss: 0.6699 - accuracy: 0.7724
##  6/15 [===========>..................] - ETA: 0s - loss: 0.6685 - accuracy: 0.7719
##  7/15 [=============>................] - ETA: 0s - loss: 0.6712 - accuracy: 0.7715
##  8/15 [===============>..............] - ETA: 0s - loss: 0.6707 - accuracy: 0.7711
##  9/15 [=================>............] - ETA: 0s - loss: 0.6722 - accuracy: 0.7709
## 10/15 [===================>..........] - ETA: 0s - loss: 0.6696 - accuracy: 0.7716
## 11/15 [=====================>........] - ETA: 0s - loss: 0.6691 - accuracy: 0.7723
## 12/15 [=======================>......] - ETA: 0s - loss: 0.6660 - accuracy: 0.7730
## 13/15 [=========================>....] - ETA: 0s - loss: 0.6646 - accuracy: 0.7733
## 14/15 [===========================>..] - ETA: 0s - loss: 0.6636 - accuracy: 0.7728
## 15/15 [==============================] - 2s 111ms/step - loss: 0.6637 - accuracy: 0.7726 - val_loss: 0.6798 - val_accuracy: 0.7621
## Epoch 8/30
## 
##  1/15 [=>............................] - ETA: 3s - loss: 0.6580 - accuracy: 0.7738
##  2/15 [===>..........................] - ETA: 1s - loss: 0.6461 - accuracy: 0.7790
##  3/15 [=====>........................] - ETA: 1s - loss: 0.6507 - accuracy: 0.7754
##  4/15 [=======>......................] - ETA: 1s - loss: 0.6493 - accuracy: 0.7754
##  5/15 [=========>....................] - ETA: 1s - loss: 0.6577 - accuracy: 0.7697
##  6/15 [===========>..................] - ETA: 1s - loss: 0.6588 - accuracy: 0.7679
##  7/15 [=============>................] - ETA: 1s - loss: 0.6625 - accuracy: 0.7662
##  8/15 [===============>..............] - ETA: 0s - loss: 0.6600 - accuracy: 0.7667
##  9/15 [=================>............] - ETA: 0s - loss: 0.6609 - accuracy: 0.7645
## 10/15 [===================>..........] - ETA: 0s - loss: 0.6610 - accuracy: 0.7647
## 11/15 [=====================>........] - ETA: 0s - loss: 0.6619 - accuracy: 0.7643
## 12/15 [=======================>......] - ETA: 0s - loss: 0.6605 - accuracy: 0.7647
## 13/15 [=========================>....] - ETA: 0s - loss: 0.6611 - accuracy: 0.7647
## 14/15 [===========================>..] - ETA: 0s - loss: 0.6596 - accuracy: 0.7651
## 15/15 [==============================] - 3s 183ms/step - loss: 0.6593 - accuracy: 0.7651 - val_loss: 0.6322 - val_accuracy: 0.7764
## Epoch 9/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.6429 - accuracy: 0.7707
##  2/15 [===>..........................] - ETA: 2s - loss: 0.6366 - accuracy: 0.7676
##  3/15 [=====>........................] - ETA: 1s - loss: 0.6274 - accuracy: 0.7742
##  4/15 [=======>......................] - ETA: 1s - loss: 0.6333 - accuracy: 0.7713
##  5/15 [=========>....................] - ETA: 1s - loss: 0.6352 - accuracy: 0.7722
##  6/15 [===========>..................] - ETA: 1s - loss: 0.6382 - accuracy: 0.7709
##  7/15 [=============>................] - ETA: 1s - loss: 0.6434 - accuracy: 0.7696
##  8/15 [===============>..............] - ETA: 0s - loss: 0.6467 - accuracy: 0.7684
##  9/15 [=================>............] - ETA: 0s - loss: 0.6488 - accuracy: 0.7685
## 10/15 [===================>..........] - ETA: 0s - loss: 0.6474 - accuracy: 0.7694
## 11/15 [=====================>........] - ETA: 0s - loss: 0.6450 - accuracy: 0.7714
## 12/15 [=======================>......] - ETA: 0s - loss: 0.6457 - accuracy: 0.7709
## 13/15 [=========================>....] - ETA: 0s - loss: 0.6435 - accuracy: 0.7720
## 14/15 [===========================>..] - ETA: 0s - loss: 0.6420 - accuracy: 0.7718
## 15/15 [==============================] - 2s 131ms/step - loss: 0.6415 - accuracy: 0.7724 - val_loss: 0.6251 - val_accuracy: 0.7772
## Epoch 10/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.6357 - accuracy: 0.7814
##  2/15 [===>..........................] - ETA: 1s - loss: 0.6107 - accuracy: 0.7898
##  3/15 [=====>........................] - ETA: 1s - loss: 0.6119 - accuracy: 0.7879
##  4/15 [=======>......................] - ETA: 1s - loss: 0.6113 - accuracy: 0.7871
##  5/15 [=========>....................] - ETA: 1s - loss: 0.6124 - accuracy: 0.7866
##  6/15 [===========>..................] - ETA: 1s - loss: 0.6082 - accuracy: 0.7885
##  7/15 [=============>................] - ETA: 0s - loss: 0.6117 - accuracy: 0.7866
##  8/15 [===============>..............] - ETA: 0s - loss: 0.6119 - accuracy: 0.7864
##  9/15 [=================>............] - ETA: 0s - loss: 0.6132 - accuracy: 0.7857
## 10/15 [===================>..........] - ETA: 0s - loss: 0.6109 - accuracy: 0.7875
## 11/15 [=====================>........] - ETA: 0s - loss: 0.6108 - accuracy: 0.7869
## 12/15 [=======================>......] - ETA: 0s - loss: 0.6093 - accuracy: 0.7881
## 13/15 [=========================>....] - ETA: 0s - loss: 0.6058 - accuracy: 0.7899
## 14/15 [===========================>..] - ETA: 0s - loss: 0.6033 - accuracy: 0.7911
## 15/15 [==============================] - 2s 122ms/step - loss: 0.6029 - accuracy: 0.7913 - val_loss: 0.5961 - val_accuracy: 0.7902
## Epoch 11/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5736 - accuracy: 0.7931
##  2/15 [===>..........................] - ETA: 1s - loss: 0.6012 - accuracy: 0.7838
##  3/15 [=====>........................] - ETA: 1s - loss: 0.6033 - accuracy: 0.7840
##  4/15 [=======>......................] - ETA: 1s - loss: 0.6146 - accuracy: 0.7793
##  5/15 [=========>....................] - ETA: 1s - loss: 0.6256 - accuracy: 0.7757
##  6/15 [===========>..................] - ETA: 1s - loss: 0.6338 - accuracy: 0.7731
##  7/15 [=============>................] - ETA: 1s - loss: 0.6285 - accuracy: 0.7754
##  8/15 [===============>..............] - ETA: 0s - loss: 0.6244 - accuracy: 0.7764
##  9/15 [=================>............] - ETA: 0s - loss: 0.6227 - accuracy: 0.7781
## 10/15 [===================>..........] - ETA: 0s - loss: 0.6205 - accuracy: 0.7788
## 11/15 [=====================>........] - ETA: 0s - loss: 0.6163 - accuracy: 0.7812
## 12/15 [=======================>......] - ETA: 0s - loss: 0.6134 - accuracy: 0.7820
## 13/15 [=========================>....] - ETA: 0s - loss: 0.6087 - accuracy: 0.7844
## 14/15 [===========================>..] - ETA: 0s - loss: 0.6067 - accuracy: 0.7854
## 15/15 [==============================] - 2s 129ms/step - loss: 0.6054 - accuracy: 0.7860 - val_loss: 0.5687 - val_accuracy: 0.8049
## Epoch 12/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5552 - accuracy: 0.8121
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5482 - accuracy: 0.8158
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5446 - accuracy: 0.8179
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5512 - accuracy: 0.8147
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5582 - accuracy: 0.8114
##  6/15 [===========>..................] - ETA: 0s - loss: 0.5660 - accuracy: 0.8068
##  7/15 [=============>................] - ETA: 0s - loss: 0.5712 - accuracy: 0.8039
##  8/15 [===============>..............] - ETA: 0s - loss: 0.5772 - accuracy: 0.8012
##  9/15 [=================>............] - ETA: 0s - loss: 0.5849 - accuracy: 0.7976
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5875 - accuracy: 0.7961
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5898 - accuracy: 0.7931
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5931 - accuracy: 0.7921
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5941 - accuracy: 0.7906
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5932 - accuracy: 0.7910
## 15/15 [==============================] - 2s 127ms/step - loss: 0.5925 - accuracy: 0.7911 - val_loss: 0.5656 - val_accuracy: 0.8062
## Epoch 13/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5671 - accuracy: 0.7995
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5640 - accuracy: 0.8002
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5601 - accuracy: 0.8028
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5671 - accuracy: 0.7996
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5669 - accuracy: 0.7986
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5746 - accuracy: 0.7967
##  7/15 [=============>................] - ETA: 0s - loss: 0.5730 - accuracy: 0.7979
##  8/15 [===============>..............] - ETA: 0s - loss: 0.5741 - accuracy: 0.7979
##  9/15 [=================>............] - ETA: 0s - loss: 0.5704 - accuracy: 0.7994
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5683 - accuracy: 0.8000
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5656 - accuracy: 0.8019
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5630 - accuracy: 0.8028
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5622 - accuracy: 0.8035
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5626 - accuracy: 0.8036
## 15/15 [==============================] - 2s 133ms/step - loss: 0.5626 - accuracy: 0.8036 - val_loss: 0.6222 - val_accuracy: 0.7820
## Epoch 14/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.6270 - accuracy: 0.7769
##  2/15 [===>..........................] - ETA: 1s - loss: 0.6322 - accuracy: 0.7745
##  3/15 [=====>........................] - ETA: 1s - loss: 0.6148 - accuracy: 0.7803
##  4/15 [=======>......................] - ETA: 1s - loss: 0.6032 - accuracy: 0.7845
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5940 - accuracy: 0.7881
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5852 - accuracy: 0.7915
##  7/15 [=============>................] - ETA: 1s - loss: 0.5772 - accuracy: 0.7951
##  8/15 [===============>..............] - ETA: 0s - loss: 0.5731 - accuracy: 0.7974
##  9/15 [=================>............] - ETA: 0s - loss: 0.5718 - accuracy: 0.7974
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5705 - accuracy: 0.7977
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5703 - accuracy: 0.7976
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5693 - accuracy: 0.7984
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5682 - accuracy: 0.7986
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5653 - accuracy: 0.7999
## 15/15 [==============================] - 2s 132ms/step - loss: 0.5652 - accuracy: 0.8001 - val_loss: 0.5399 - val_accuracy: 0.8154
## Epoch 15/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5231 - accuracy: 0.8131
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5348 - accuracy: 0.8115
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5373 - accuracy: 0.8137
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5313 - accuracy: 0.8146
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5318 - accuracy: 0.8150
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5343 - accuracy: 0.8148
##  7/15 [=============>................] - ETA: 1s - loss: 0.5344 - accuracy: 0.8138
##  8/15 [===============>..............] - ETA: 0s - loss: 0.5363 - accuracy: 0.8128
##  9/15 [=================>............] - ETA: 0s - loss: 0.5361 - accuracy: 0.8129
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5347 - accuracy: 0.8140
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5352 - accuracy: 0.8139
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5365 - accuracy: 0.8134
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5356 - accuracy: 0.8137
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5367 - accuracy: 0.8129
## 15/15 [==============================] - 2s 133ms/step - loss: 0.5355 - accuracy: 0.8132 - val_loss: 0.5484 - val_accuracy: 0.8043
## Epoch 16/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5474 - accuracy: 0.8083
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5412 - accuracy: 0.8110
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5474 - accuracy: 0.8094
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5482 - accuracy: 0.8062
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5558 - accuracy: 0.8034
##  6/15 [===========>..................] - ETA: 0s - loss: 0.5541 - accuracy: 0.8035
##  7/15 [=============>................] - ETA: 0s - loss: 0.5539 - accuracy: 0.8043
##  8/15 [===============>..............] - ETA: 0s - loss: 0.5483 - accuracy: 0.8067
##  9/15 [=================>............] - ETA: 0s - loss: 0.5458 - accuracy: 0.8073
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5444 - accuracy: 0.8079
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5421 - accuracy: 0.8085
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5421 - accuracy: 0.8087
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5410 - accuracy: 0.8096
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5389 - accuracy: 0.8104
## 15/15 [==============================] - 2s 121ms/step - loss: 0.5387 - accuracy: 0.8105 - val_loss: 0.5521 - val_accuracy: 0.8017
## Epoch 17/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5489 - accuracy: 0.8038
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5478 - accuracy: 0.8027
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5406 - accuracy: 0.8049
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5416 - accuracy: 0.8056
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5406 - accuracy: 0.8046
##  6/15 [===========>..................] - ETA: 0s - loss: 0.5411 - accuracy: 0.8046
##  7/15 [=============>................] - ETA: 0s - loss: 0.5432 - accuracy: 0.8031
##  8/15 [===============>..............] - ETA: 0s - loss: 0.5489 - accuracy: 0.8023
##  9/15 [=================>............] - ETA: 0s - loss: 0.5499 - accuracy: 0.8009
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5532 - accuracy: 0.7999
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5559 - accuracy: 0.7987
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5553 - accuracy: 0.7997
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5538 - accuracy: 0.8000
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5526 - accuracy: 0.8008
## 15/15 [==============================] - 2s 126ms/step - loss: 0.5520 - accuracy: 0.8012 - val_loss: 0.5201 - val_accuracy: 0.8261
## Epoch 18/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5369 - accuracy: 0.8100
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5277 - accuracy: 0.8177
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5253 - accuracy: 0.8170
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5213 - accuracy: 0.8186
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5205 - accuracy: 0.8181
##  6/15 [===========>..................] - ETA: 0s - loss: 0.5150 - accuracy: 0.8201
##  7/15 [=============>................] - ETA: 0s - loss: 0.5127 - accuracy: 0.8214
##  8/15 [===============>..............] - ETA: 0s - loss: 0.5125 - accuracy: 0.8218
##  9/15 [=================>............] - ETA: 0s - loss: 0.5123 - accuracy: 0.8222
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5118 - accuracy: 0.8230
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5122 - accuracy: 0.8230
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5114 - accuracy: 0.8238
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5085 - accuracy: 0.8251
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5066 - accuracy: 0.8257
## 15/15 [==============================] - 2s 118ms/step - loss: 0.5059 - accuracy: 0.8258 - val_loss: 0.5086 - val_accuracy: 0.8236
## Epoch 19/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5096 - accuracy: 0.8255
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5088 - accuracy: 0.8252
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5097 - accuracy: 0.8244
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5116 - accuracy: 0.8232
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5220 - accuracy: 0.8210
##  6/15 [===========>..................] - ETA: 0s - loss: 0.5196 - accuracy: 0.8208
##  7/15 [=============>................] - ETA: 0s - loss: 0.5186 - accuracy: 0.8210
##  8/15 [===============>..............] - ETA: 0s - loss: 0.5174 - accuracy: 0.8209
##  9/15 [=================>............] - ETA: 0s - loss: 0.5189 - accuracy: 0.8203
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5199 - accuracy: 0.8196
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5205 - accuracy: 0.8193
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5176 - accuracy: 0.8202
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5184 - accuracy: 0.8197
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5185 - accuracy: 0.8194
## 15/15 [==============================] - 2s 114ms/step - loss: 0.5190 - accuracy: 0.8192 - val_loss: 0.5324 - val_accuracy: 0.8051
## Epoch 20/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5227 - accuracy: 0.8102
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5232 - accuracy: 0.8111
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5215 - accuracy: 0.8100
##  4/15 [=======>......................] - ETA: 0s - loss: 0.5239 - accuracy: 0.8098
##  5/15 [=========>....................] - ETA: 0s - loss: 0.5264 - accuracy: 0.8095
##  6/15 [===========>..................] - ETA: 0s - loss: 0.5273 - accuracy: 0.8104
##  7/15 [=============>................] - ETA: 0s - loss: 0.5253 - accuracy: 0.8119
##  8/15 [===============>..............] - ETA: 0s - loss: 0.5213 - accuracy: 0.8139
##  9/15 [=================>............] - ETA: 0s - loss: 0.5178 - accuracy: 0.8154
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5166 - accuracy: 0.8155
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5174 - accuracy: 0.8152
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5170 - accuracy: 0.8154
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5160 - accuracy: 0.8158
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5150 - accuracy: 0.8160
## 15/15 [==============================] - 1s 97ms/step - loss: 0.5148 - accuracy: 0.8160 - val_loss: 0.5156 - val_accuracy: 0.8175
## Epoch 21/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5096 - accuracy: 0.8205
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5087 - accuracy: 0.8208
##  3/15 [=====>........................] - ETA: 0s - loss: 0.5065 - accuracy: 0.8219
##  4/15 [=======>......................] - ETA: 0s - loss: 0.5002 - accuracy: 0.8247
##  5/15 [=========>....................] - ETA: 0s - loss: 0.4991 - accuracy: 0.8252
##  6/15 [===========>..................] - ETA: 0s - loss: 0.5018 - accuracy: 0.8245
##  7/15 [=============>................] - ETA: 0s - loss: 0.5013 - accuracy: 0.8249
##  8/15 [===============>..............] - ETA: 0s - loss: 0.4977 - accuracy: 0.8264
##  9/15 [=================>............] - ETA: 0s - loss: 0.4990 - accuracy: 0.8248
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5002 - accuracy: 0.8240
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5021 - accuracy: 0.8232
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5025 - accuracy: 0.8231
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5042 - accuracy: 0.8222
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5036 - accuracy: 0.8221
## 15/15 [==============================] - 1s 96ms/step - loss: 0.5048 - accuracy: 0.8217 - val_loss: 0.5274 - val_accuracy: 0.8107
## Epoch 22/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5316 - accuracy: 0.8129
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5339 - accuracy: 0.8130
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5243 - accuracy: 0.8166
##  4/15 [=======>......................] - ETA: 0s - loss: 0.5166 - accuracy: 0.8191
##  5/15 [=========>....................] - ETA: 0s - loss: 0.5132 - accuracy: 0.8205
##  6/15 [===========>..................] - ETA: 0s - loss: 0.5138 - accuracy: 0.8188
##  7/15 [=============>................] - ETA: 0s - loss: 0.5120 - accuracy: 0.8200
##  8/15 [===============>..............] - ETA: 0s - loss: 0.5145 - accuracy: 0.8185
##  9/15 [=================>............] - ETA: 0s - loss: 0.5149 - accuracy: 0.8188
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5170 - accuracy: 0.8173
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5191 - accuracy: 0.8175
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5194 - accuracy: 0.8166
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5180 - accuracy: 0.8166
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5175 - accuracy: 0.8170
## 15/15 [==============================] - 1s 95ms/step - loss: 0.5178 - accuracy: 0.8168 - val_loss: 0.5207 - val_accuracy: 0.8155
## Epoch 23/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5543 - accuracy: 0.8031
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5276 - accuracy: 0.8142
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5245 - accuracy: 0.8133
##  4/15 [=======>......................] - ETA: 0s - loss: 0.5252 - accuracy: 0.8135
##  5/15 [=========>....................] - ETA: 0s - loss: 0.5242 - accuracy: 0.8129
##  6/15 [===========>..................] - ETA: 0s - loss: 0.5171 - accuracy: 0.8173
##  7/15 [=============>................] - ETA: 0s - loss: 0.5127 - accuracy: 0.8189
##  8/15 [===============>..............] - ETA: 0s - loss: 0.5101 - accuracy: 0.8203
##  9/15 [=================>............] - ETA: 0s - loss: 0.5050 - accuracy: 0.8234
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5020 - accuracy: 0.8243
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5002 - accuracy: 0.8252
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4982 - accuracy: 0.8256
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4970 - accuracy: 0.8258
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4933 - accuracy: 0.8271
## 15/15 [==============================] - 1s 97ms/step - loss: 0.4925 - accuracy: 0.8275 - val_loss: 0.4802 - val_accuracy: 0.8328
## Epoch 24/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4745 - accuracy: 0.8362
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4650 - accuracy: 0.8383
##  3/15 [=====>........................] - ETA: 0s - loss: 0.4687 - accuracy: 0.8373
##  4/15 [=======>......................] - ETA: 0s - loss: 0.4705 - accuracy: 0.8370
##  5/15 [=========>....................] - ETA: 0s - loss: 0.4731 - accuracy: 0.8359
##  6/15 [===========>..................] - ETA: 0s - loss: 0.4727 - accuracy: 0.8360
##  7/15 [=============>................] - ETA: 0s - loss: 0.4761 - accuracy: 0.8348
##  8/15 [===============>..............] - ETA: 0s - loss: 0.4763 - accuracy: 0.8331
##  9/15 [=================>............] - ETA: 0s - loss: 0.4800 - accuracy: 0.8319
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4810 - accuracy: 0.8315
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4843 - accuracy: 0.8302
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4836 - accuracy: 0.8306
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4856 - accuracy: 0.8292
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4867 - accuracy: 0.8289
## 15/15 [==============================] - 1s 95ms/step - loss: 0.4861 - accuracy: 0.8291 - val_loss: 0.4757 - val_accuracy: 0.8365
## Epoch 25/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4656 - accuracy: 0.8386
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4675 - accuracy: 0.8380
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4652 - accuracy: 0.8394
##  4/15 [=======>......................] - ETA: 1s - loss: 0.4745 - accuracy: 0.8363
##  5/15 [=========>....................] - ETA: 0s - loss: 0.4722 - accuracy: 0.8356
##  6/15 [===========>..................] - ETA: 0s - loss: 0.4812 - accuracy: 0.8310
##  7/15 [=============>................] - ETA: 0s - loss: 0.4808 - accuracy: 0.8296
##  8/15 [===============>..............] - ETA: 0s - loss: 0.4818 - accuracy: 0.8289
##  9/15 [=================>............] - ETA: 0s - loss: 0.4802 - accuracy: 0.8295
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4800 - accuracy: 0.8301
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4820 - accuracy: 0.8286
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4837 - accuracy: 0.8279
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4863 - accuracy: 0.8263
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4891 - accuracy: 0.8257
## 15/15 [==============================] - 1s 98ms/step - loss: 0.4887 - accuracy: 0.8258 - val_loss: 0.5136 - val_accuracy: 0.8133
## Epoch 26/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5060 - accuracy: 0.8150
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4952 - accuracy: 0.8185
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4963 - accuracy: 0.8201
##  4/15 [=======>......................] - ETA: 0s - loss: 0.4864 - accuracy: 0.8268
##  5/15 [=========>....................] - ETA: 0s - loss: 0.4834 - accuracy: 0.8278
##  6/15 [===========>..................] - ETA: 0s - loss: 0.4818 - accuracy: 0.8290
##  7/15 [=============>................] - ETA: 0s - loss: 0.4808 - accuracy: 0.8300
##  8/15 [===============>..............] - ETA: 0s - loss: 0.4775 - accuracy: 0.8319
##  9/15 [=================>............] - ETA: 0s - loss: 0.4783 - accuracy: 0.8322
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4794 - accuracy: 0.8318
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4806 - accuracy: 0.8318
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4797 - accuracy: 0.8322
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4798 - accuracy: 0.8320
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4797 - accuracy: 0.8315
## 15/15 [==============================] - 1s 95ms/step - loss: 0.4791 - accuracy: 0.8318 - val_loss: 0.4786 - val_accuracy: 0.8338
## Epoch 27/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4739 - accuracy: 0.8340
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4754 - accuracy: 0.8346
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4743 - accuracy: 0.8334
##  4/15 [=======>......................] - ETA: 1s - loss: 0.4754 - accuracy: 0.8342
##  5/15 [=========>....................] - ETA: 0s - loss: 0.4777 - accuracy: 0.8336
##  6/15 [===========>..................] - ETA: 0s - loss: 0.4739 - accuracy: 0.8352
##  7/15 [=============>................] - ETA: 0s - loss: 0.4738 - accuracy: 0.8352
##  8/15 [===============>..............] - ETA: 0s - loss: 0.4739 - accuracy: 0.8353
##  9/15 [=================>............] - ETA: 0s - loss: 0.4748 - accuracy: 0.8356
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4763 - accuracy: 0.8348
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4788 - accuracy: 0.8335
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4784 - accuracy: 0.8331
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4782 - accuracy: 0.8331
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4783 - accuracy: 0.8326
## 15/15 [==============================] - 1s 100ms/step - loss: 0.4782 - accuracy: 0.8328 - val_loss: 0.4789 - val_accuracy: 0.8313
## Epoch 28/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4528 - accuracy: 0.8402
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4589 - accuracy: 0.8357
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4551 - accuracy: 0.8395
##  4/15 [=======>......................] - ETA: 0s - loss: 0.4526 - accuracy: 0.8411
##  5/15 [=========>....................] - ETA: 0s - loss: 0.4536 - accuracy: 0.8404
##  6/15 [===========>..................] - ETA: 0s - loss: 0.4566 - accuracy: 0.8386
##  7/15 [=============>................] - ETA: 0s - loss: 0.4592 - accuracy: 0.8383
##  8/15 [===============>..............] - ETA: 0s - loss: 0.4600 - accuracy: 0.8385
##  9/15 [=================>............] - ETA: 0s - loss: 0.4629 - accuracy: 0.8369
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4673 - accuracy: 0.8347
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4704 - accuracy: 0.8341
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4696 - accuracy: 0.8346
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4698 - accuracy: 0.8345
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4704 - accuracy: 0.8342
## 15/15 [==============================] - 1s 96ms/step - loss: 0.4700 - accuracy: 0.8343 - val_loss: 0.4917 - val_accuracy: 0.8241
## Epoch 29/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4835 - accuracy: 0.8257
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4984 - accuracy: 0.8229
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4933 - accuracy: 0.8248
##  4/15 [=======>......................] - ETA: 0s - loss: 0.4925 - accuracy: 0.8249
##  5/15 [=========>....................] - ETA: 0s - loss: 0.4907 - accuracy: 0.8245
##  6/15 [===========>..................] - ETA: 0s - loss: 0.4884 - accuracy: 0.8238
##  7/15 [=============>................] - ETA: 0s - loss: 0.4871 - accuracy: 0.8247
##  8/15 [===============>..............] - ETA: 0s - loss: 0.4856 - accuracy: 0.8255
##  9/15 [=================>............] - ETA: 0s - loss: 0.4818 - accuracy: 0.8273
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4805 - accuracy: 0.8283
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4766 - accuracy: 0.8301
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4745 - accuracy: 0.8308
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4731 - accuracy: 0.8317
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4724 - accuracy: 0.8322
## 15/15 [==============================] - 1s 101ms/step - loss: 0.4723 - accuracy: 0.8321 - val_loss: 0.4831 - val_accuracy: 0.8278
## Epoch 30/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4950 - accuracy: 0.8226
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4884 - accuracy: 0.8213
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4814 - accuracy: 0.8259
##  4/15 [=======>......................] - ETA: 1s - loss: 0.4768 - accuracy: 0.8277
##  5/15 [=========>....................] - ETA: 0s - loss: 0.4710 - accuracy: 0.8292
##  6/15 [===========>..................] - ETA: 0s - loss: 0.4736 - accuracy: 0.8287
##  7/15 [=============>................] - ETA: 0s - loss: 0.4700 - accuracy: 0.8323
##  8/15 [===============>..............] - ETA: 0s - loss: 0.4670 - accuracy: 0.8334
##  9/15 [=================>............] - ETA: 0s - loss: 0.4667 - accuracy: 0.8339
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4639 - accuracy: 0.8351
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4653 - accuracy: 0.8351
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4630 - accuracy: 0.8362
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4637 - accuracy: 0.8360
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4623 - accuracy: 0.8366
## 15/15 [==============================] - 2s 98ms/step - loss: 0.4628 - accuracy: 0.8366 - val_loss: 0.4748 - val_accuracy: 0.8350
plot(history_2)

Model 3 :

set_random_seed(111)

# Membuat arsitektur
model_3 <- keras_model_sequential(name = "model_3") %>%  # input layer + hidden layer 
layer_dense(input_shape = input_dim, #jumlah prediktor
            units = 256,#jumlah node/neuron
   activation = "relu", #fungsi aktivasi
            name = "hidden_1") %>%  #nama dari hidden layer

  # hidden layer 2
  layer_dense( units = 128,#jumlah node/neuron
   activation = "relu", #fungsi aktivasi
            name = "hidden_2") %>%  #nama dari hidden layer

  # output layer
 layer_dense(units = num_class #jumlah kelas target
             , activation = "softmax",
             name = "Output")
  

# COMPILE MODEL
 model_3 %>% compile(loss = "categorical_crossentropy",
          optimizer = optimizer_sgd(learning_rate = 0.1),metrics = "accuracy")

# FIT MODEL
history_3 <- model_3 %>% 
  fit(x = train_x,
      y = train_y,
      epochs = 30,
      batch_size = 4200, 
      validation_data = list(test_x,test_y),
      verbose = 1)
## Epoch 1/30
## 
##  1/15 [=>............................] - ETA: 40s - loss: 2.3650 - accuracy: 0.1155
##  2/15 [===>..........................] - ETA: 1s - loss: 2.2658 - accuracy: 0.1537 
##  3/15 [=====>........................] - ETA: 1s - loss: 2.1898 - accuracy: 0.2236
##  4/15 [=======>......................] - ETA: 1s - loss: 2.1254 - accuracy: 0.2936
##  5/15 [=========>....................] - ETA: 1s - loss: 2.0646 - accuracy: 0.3462
##  6/15 [===========>..................] - ETA: 1s - loss: 2.0082 - accuracy: 0.3882
##  7/15 [=============>................] - ETA: 1s - loss: 1.9541 - accuracy: 0.4149
##  8/15 [===============>..............] - ETA: 1s - loss: 1.9027 - accuracy: 0.4394
##  9/15 [=================>............] - ETA: 0s - loss: 1.8536 - accuracy: 0.4554
## 10/15 [===================>..........] - ETA: 0s - loss: 1.8103 - accuracy: 0.4690
## 11/15 [=====================>........] - ETA: 0s - loss: 1.7736 - accuracy: 0.4707
## 12/15 [=======================>......] - ETA: 0s - loss: 1.7433 - accuracy: 0.4808
## 13/15 [=========================>....] - ETA: 0s - loss: 1.7141 - accuracy: 0.4776
## 14/15 [===========================>..] - ETA: 0s - loss: 1.6808 - accuracy: 0.4878
## 15/15 [==============================] - 6s 193ms/step - loss: 1.6708 - accuracy: 0.4897 - val_loss: 1.1435 - val_accuracy: 0.6254
## Epoch 2/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 1.1599 - accuracy: 0.6183
##  2/15 [===>..........................] - ETA: 2s - loss: 1.1482 - accuracy: 0.6007
##  3/15 [=====>........................] - ETA: 1s - loss: 1.1378 - accuracy: 0.6103
##  4/15 [=======>......................] - ETA: 1s - loss: 1.1324 - accuracy: 0.6018
##  5/15 [=========>....................] - ETA: 1s - loss: 1.1269 - accuracy: 0.6108
##  6/15 [===========>..................] - ETA: 1s - loss: 1.1135 - accuracy: 0.6144
##  7/15 [=============>................] - ETA: 1s - loss: 1.1055 - accuracy: 0.6187
##  8/15 [===============>..............] - ETA: 1s - loss: 1.0944 - accuracy: 0.6218
##  9/15 [=================>............] - ETA: 0s - loss: 1.0835 - accuracy: 0.6261
## 10/15 [===================>..........] - ETA: 0s - loss: 1.0725 - accuracy: 0.6287
## 11/15 [=====================>........] - ETA: 0s - loss: 1.0609 - accuracy: 0.6321
## 12/15 [=======================>......] - ETA: 0s - loss: 1.0505 - accuracy: 0.6348
## 13/15 [=========================>....] - ETA: 0s - loss: 1.0406 - accuracy: 0.6380
## 14/15 [===========================>..] - ETA: 0s - loss: 1.0332 - accuracy: 0.6390
## 15/15 [==============================] - 2s 154ms/step - loss: 1.0318 - accuracy: 0.6398 - val_loss: 0.9177 - val_accuracy: 0.6645
## Epoch 3/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.9291 - accuracy: 0.6560
##  2/15 [===>..........................] - ETA: 1s - loss: 0.9211 - accuracy: 0.6740
##  3/15 [=====>........................] - ETA: 1s - loss: 0.9281 - accuracy: 0.6721
##  4/15 [=======>......................] - ETA: 1s - loss: 0.9276 - accuracy: 0.6771
##  5/15 [=========>....................] - ETA: 1s - loss: 0.9215 - accuracy: 0.6795
##  6/15 [===========>..................] - ETA: 1s - loss: 0.9108 - accuracy: 0.6838
##  7/15 [=============>................] - ETA: 1s - loss: 0.8984 - accuracy: 0.6874
##  8/15 [===============>..............] - ETA: 1s - loss: 0.8888 - accuracy: 0.6915
##  9/15 [=================>............] - ETA: 1s - loss: 0.8840 - accuracy: 0.6920
## 10/15 [===================>..........] - ETA: 0s - loss: 0.8810 - accuracy: 0.6931
## 11/15 [=====================>........] - ETA: 0s - loss: 0.8736 - accuracy: 0.6968
## 12/15 [=======================>......] - ETA: 0s - loss: 0.8690 - accuracy: 0.6967
## 13/15 [=========================>....] - ETA: 0s - loss: 0.8680 - accuracy: 0.6992
## 14/15 [===========================>..] - ETA: 0s - loss: 0.8639 - accuracy: 0.6986
## 15/15 [==============================] - 3s 188ms/step - loss: 0.8630 - accuracy: 0.6992 - val_loss: 0.8031 - val_accuracy: 0.7085
## Epoch 4/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.7952 - accuracy: 0.7136
##  2/15 [===>..........................] - ETA: 3s - loss: 0.7998 - accuracy: 0.7225
##  3/15 [=====>........................] - ETA: 3s - loss: 0.7938 - accuracy: 0.7223
##  4/15 [=======>......................] - ETA: 2s - loss: 0.7939 - accuracy: 0.7231
##  5/15 [=========>....................] - ETA: 2s - loss: 0.7929 - accuracy: 0.7203
##  6/15 [===========>..................] - ETA: 1s - loss: 0.8006 - accuracy: 0.7210
##  7/15 [=============>................] - ETA: 1s - loss: 0.7992 - accuracy: 0.7188
##  8/15 [===============>..............] - ETA: 1s - loss: 0.8041 - accuracy: 0.7171
##  9/15 [=================>............] - ETA: 1s - loss: 0.8067 - accuracy: 0.7160
## 10/15 [===================>..........] - ETA: 0s - loss: 0.8036 - accuracy: 0.7159
## 11/15 [=====================>........] - ETA: 0s - loss: 0.8024 - accuracy: 0.7159
## 12/15 [=======================>......] - ETA: 0s - loss: 0.7995 - accuracy: 0.7164
## 13/15 [=========================>....] - ETA: 0s - loss: 0.7979 - accuracy: 0.7172
## 14/15 [===========================>..] - ETA: 0s - loss: 0.7933 - accuracy: 0.7183
## 15/15 [==============================] - 3s 205ms/step - loss: 0.7924 - accuracy: 0.7187 - val_loss: 0.7365 - val_accuracy: 0.7387
## Epoch 5/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.7388 - accuracy: 0.7440
##  2/15 [===>..........................] - ETA: 2s - loss: 0.7267 - accuracy: 0.7482
##  3/15 [=====>........................] - ETA: 2s - loss: 0.7235 - accuracy: 0.7460
##  4/15 [=======>......................] - ETA: 1s - loss: 0.7243 - accuracy: 0.7441
##  5/15 [=========>....................] - ETA: 1s - loss: 0.7360 - accuracy: 0.7410
##  6/15 [===========>..................] - ETA: 1s - loss: 0.7363 - accuracy: 0.7389
##  7/15 [=============>................] - ETA: 1s - loss: 0.7399 - accuracy: 0.7375
##  8/15 [===============>..............] - ETA: 1s - loss: 0.7418 - accuracy: 0.7398
##  9/15 [=================>............] - ETA: 0s - loss: 0.7421 - accuracy: 0.7383
## 10/15 [===================>..........] - ETA: 0s - loss: 0.7408 - accuracy: 0.7398
## 11/15 [=====================>........] - ETA: 0s - loss: 0.7390 - accuracy: 0.7399
## 12/15 [=======================>......] - ETA: 0s - loss: 0.7348 - accuracy: 0.7420
## 13/15 [=========================>....] - ETA: 0s - loss: 0.7317 - accuracy: 0.7428
## 14/15 [===========================>..] - ETA: 0s - loss: 0.7303 - accuracy: 0.7445
## 15/15 [==============================] - ETA: 0s - loss: 0.7298 - accuracy: 0.7447
## 15/15 [==============================] - 3s 181ms/step - loss: 0.7298 - accuracy: 0.7447 - val_loss: 0.6949 - val_accuracy: 0.7613
## Epoch 6/30
## 
##  1/15 [=>............................] - ETA: 2s - loss: 0.6800 - accuracy: 0.7721
##  2/15 [===>..........................] - ETA: 2s - loss: 0.6896 - accuracy: 0.7570
##  3/15 [=====>........................] - ETA: 1s - loss: 0.7020 - accuracy: 0.7576
##  4/15 [=======>......................] - ETA: 1s - loss: 0.6938 - accuracy: 0.7595
##  5/15 [=========>....................] - ETA: 1s - loss: 0.6899 - accuracy: 0.7596
##  6/15 [===========>..................] - ETA: 1s - loss: 0.6885 - accuracy: 0.7573
##  7/15 [=============>................] - ETA: 1s - loss: 0.6929 - accuracy: 0.7594
##  8/15 [===============>..............] - ETA: 1s - loss: 0.6884 - accuracy: 0.7613
##  9/15 [=================>............] - ETA: 0s - loss: 0.6855 - accuracy: 0.7622
## 10/15 [===================>..........] - ETA: 0s - loss: 0.6827 - accuracy: 0.7639
## 11/15 [=====================>........] - ETA: 0s - loss: 0.6819 - accuracy: 0.7631
## 12/15 [=======================>......] - ETA: 0s - loss: 0.6832 - accuracy: 0.7627
## 13/15 [=========================>....] - ETA: 0s - loss: 0.6846 - accuracy: 0.7602
## 14/15 [===========================>..] - ETA: 0s - loss: 0.6896 - accuracy: 0.7582
## 15/15 [==============================] - 2s 164ms/step - loss: 0.6902 - accuracy: 0.7577 - val_loss: 0.6994 - val_accuracy: 0.7477
## Epoch 7/30
## 
##  1/15 [=>............................] - ETA: 2s - loss: 0.6982 - accuracy: 0.7414
##  2/15 [===>..........................] - ETA: 3s - loss: 0.7055 - accuracy: 0.7571
##  3/15 [=====>........................] - ETA: 2s - loss: 0.6868 - accuracy: 0.7652
##  4/15 [=======>......................] - ETA: 2s - loss: 0.6786 - accuracy: 0.7629
##  5/15 [=========>....................] - ETA: 2s - loss: 0.6672 - accuracy: 0.7685
##  6/15 [===========>..................] - ETA: 1s - loss: 0.6644 - accuracy: 0.7685
##  7/15 [=============>................] - ETA: 1s - loss: 0.6632 - accuracy: 0.7684
##  8/15 [===============>..............] - ETA: 1s - loss: 0.6635 - accuracy: 0.7668
##  9/15 [=================>............] - ETA: 1s - loss: 0.6646 - accuracy: 0.7660
## 10/15 [===================>..........] - ETA: 1s - loss: 0.6654 - accuracy: 0.7650
## 11/15 [=====================>........] - ETA: 0s - loss: 0.6635 - accuracy: 0.7659
## 12/15 [=======================>......] - ETA: 0s - loss: 0.6616 - accuracy: 0.7658
## 13/15 [=========================>....] - ETA: 0s - loss: 0.6608 - accuracy: 0.7664
## 14/15 [===========================>..] - ETA: 0s - loss: 0.6608 - accuracy: 0.7660
## 15/15 [==============================] - ETA: 0s - loss: 0.6610 - accuracy: 0.7659
## 15/15 [==============================] - 3s 210ms/step - loss: 0.6610 - accuracy: 0.7659 - val_loss: 0.6576 - val_accuracy: 0.7575
## Epoch 8/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.6537 - accuracy: 0.7614
##  2/15 [===>..........................] - ETA: 1s - loss: 0.6479 - accuracy: 0.7669
##  3/15 [=====>........................] - ETA: 1s - loss: 0.6421 - accuracy: 0.7683
##  4/15 [=======>......................] - ETA: 1s - loss: 0.6387 - accuracy: 0.7704
##  5/15 [=========>....................] - ETA: 1s - loss: 0.6402 - accuracy: 0.7674
##  6/15 [===========>..................] - ETA: 1s - loss: 0.6431 - accuracy: 0.7680
##  7/15 [=============>................] - ETA: 1s - loss: 0.6435 - accuracy: 0.7677
##  8/15 [===============>..............] - ETA: 1s - loss: 0.6407 - accuracy: 0.7696
##  9/15 [=================>............] - ETA: 0s - loss: 0.6391 - accuracy: 0.7705
## 10/15 [===================>..........] - ETA: 0s - loss: 0.6405 - accuracy: 0.7703
## 11/15 [=====================>........] - ETA: 0s - loss: 0.6413 - accuracy: 0.7701
## 12/15 [=======================>......] - ETA: 0s - loss: 0.6395 - accuracy: 0.7708
## 13/15 [=========================>....] - ETA: 0s - loss: 0.6376 - accuracy: 0.7716
## 14/15 [===========================>..] - ETA: 0s - loss: 0.6374 - accuracy: 0.7719
## 15/15 [==============================] - 3s 169ms/step - loss: 0.6366 - accuracy: 0.7722 - val_loss: 0.5986 - val_accuracy: 0.7929
## Epoch 9/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5874 - accuracy: 0.8031
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5966 - accuracy: 0.7963
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5928 - accuracy: 0.7968
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5960 - accuracy: 0.7950
##  5/15 [=========>....................] - ETA: 1s - loss: 0.6044 - accuracy: 0.7910
##  6/15 [===========>..................] - ETA: 1s - loss: 0.6095 - accuracy: 0.7854
##  7/15 [=============>................] - ETA: 1s - loss: 0.6149 - accuracy: 0.7824
##  8/15 [===============>..............] - ETA: 1s - loss: 0.6144 - accuracy: 0.7804
##  9/15 [=================>............] - ETA: 1s - loss: 0.6142 - accuracy: 0.7812
## 10/15 [===================>..........] - ETA: 0s - loss: 0.6156 - accuracy: 0.7794
## 11/15 [=====================>........] - ETA: 0s - loss: 0.6177 - accuracy: 0.7789
## 12/15 [=======================>......] - ETA: 0s - loss: 0.6233 - accuracy: 0.7764
## 13/15 [=========================>....] - ETA: 0s - loss: 0.6228 - accuracy: 0.7773
## 14/15 [===========================>..] - ETA: 0s - loss: 0.6226 - accuracy: 0.7776
## 15/15 [==============================] - 3s 173ms/step - loss: 0.6217 - accuracy: 0.7782 - val_loss: 0.6089 - val_accuracy: 0.7825
## Epoch 10/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5780 - accuracy: 0.7950
##  2/15 [===>..........................] - ETA: 2s - loss: 0.5849 - accuracy: 0.7960
##  3/15 [=====>........................] - ETA: 2s - loss: 0.5832 - accuracy: 0.7938
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5803 - accuracy: 0.7959
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5872 - accuracy: 0.7915
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5912 - accuracy: 0.7921
##  7/15 [=============>................] - ETA: 1s - loss: 0.5915 - accuracy: 0.7919
##  8/15 [===============>..............] - ETA: 1s - loss: 0.5918 - accuracy: 0.7921
##  9/15 [=================>............] - ETA: 1s - loss: 0.5937 - accuracy: 0.7902
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5950 - accuracy: 0.7891
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5958 - accuracy: 0.7885
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5945 - accuracy: 0.7896
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5927 - accuracy: 0.7903
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5897 - accuracy: 0.7925
## 15/15 [==============================] - 3s 197ms/step - loss: 0.5888 - accuracy: 0.7930 - val_loss: 0.5642 - val_accuracy: 0.8082
## Epoch 11/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5768 - accuracy: 0.8062
##  2/15 [===>..........................] - ETA: 2s - loss: 0.5668 - accuracy: 0.8093
##  3/15 [=====>........................] - ETA: 2s - loss: 0.5566 - accuracy: 0.8109
##  4/15 [=======>......................] - ETA: 2s - loss: 0.5589 - accuracy: 0.8102
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5580 - accuracy: 0.8090
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5655 - accuracy: 0.8052
##  7/15 [=============>................] - ETA: 1s - loss: 0.5720 - accuracy: 0.8011
##  8/15 [===============>..............] - ETA: 1s - loss: 0.5740 - accuracy: 0.7988
##  9/15 [=================>............] - ETA: 1s - loss: 0.5805 - accuracy: 0.7953
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5842 - accuracy: 0.7927
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5876 - accuracy: 0.7898
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5872 - accuracy: 0.7897
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5865 - accuracy: 0.7898
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5859 - accuracy: 0.7906
## 15/15 [==============================] - ETA: 0s - loss: 0.5866 - accuracy: 0.7904
## 15/15 [==============================] - 3s 199ms/step - loss: 0.5866 - accuracy: 0.7904 - val_loss: 0.6039 - val_accuracy: 0.7838
## Epoch 12/30
## 
##  1/15 [=>............................] - ETA: 3s - loss: 0.6110 - accuracy: 0.7836
##  2/15 [===>..........................] - ETA: 2s - loss: 0.5796 - accuracy: 0.7988
##  3/15 [=====>........................] - ETA: 2s - loss: 0.5699 - accuracy: 0.7998
##  4/15 [=======>......................] - ETA: 2s - loss: 0.5645 - accuracy: 0.8033
##  5/15 [=========>....................] - ETA: 2s - loss: 0.5663 - accuracy: 0.8020
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5626 - accuracy: 0.8028
##  7/15 [=============>................] - ETA: 1s - loss: 0.5581 - accuracy: 0.8044
##  8/15 [===============>..............] - ETA: 1s - loss: 0.5589 - accuracy: 0.8037
##  9/15 [=================>............] - ETA: 1s - loss: 0.5638 - accuracy: 0.8013
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5657 - accuracy: 0.8003
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5717 - accuracy: 0.7989
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5717 - accuracy: 0.7996
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5710 - accuracy: 0.7990
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5727 - accuracy: 0.7985
## 15/15 [==============================] - 3s 185ms/step - loss: 0.5717 - accuracy: 0.7984 - val_loss: 0.6035 - val_accuracy: 0.7870
## Epoch 13/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5914 - accuracy: 0.7919
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5895 - accuracy: 0.7886
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5801 - accuracy: 0.7949
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5734 - accuracy: 0.7964
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5686 - accuracy: 0.7978
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5643 - accuracy: 0.7996
##  7/15 [=============>................] - ETA: 1s - loss: 0.5611 - accuracy: 0.8018
##  8/15 [===============>..............] - ETA: 1s - loss: 0.5613 - accuracy: 0.8016
##  9/15 [=================>............] - ETA: 0s - loss: 0.5640 - accuracy: 0.7997
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5648 - accuracy: 0.8002
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5635 - accuracy: 0.8006
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5596 - accuracy: 0.8022
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5586 - accuracy: 0.8032
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5561 - accuracy: 0.8040
## 15/15 [==============================] - 2s 156ms/step - loss: 0.5556 - accuracy: 0.8043 - val_loss: 0.5422 - val_accuracy: 0.8071
## Epoch 14/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5342 - accuracy: 0.8169
##  2/15 [===>..........................] - ETA: 2s - loss: 0.5407 - accuracy: 0.8119
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5473 - accuracy: 0.8093
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5565 - accuracy: 0.8037
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5628 - accuracy: 0.8009
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5618 - accuracy: 0.7995
##  7/15 [=============>................] - ETA: 1s - loss: 0.5626 - accuracy: 0.7985
##  8/15 [===============>..............] - ETA: 1s - loss: 0.5622 - accuracy: 0.7981
##  9/15 [=================>............] - ETA: 1s - loss: 0.5611 - accuracy: 0.7992
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5634 - accuracy: 0.7986
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5625 - accuracy: 0.7994
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5630 - accuracy: 0.7995
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5606 - accuracy: 0.8010
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5576 - accuracy: 0.8022
## 15/15 [==============================] - 2s 170ms/step - loss: 0.5567 - accuracy: 0.8028 - val_loss: 0.5258 - val_accuracy: 0.8186
## Epoch 15/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5219 - accuracy: 0.8174
##  2/15 [===>..........................] - ETA: 2s - loss: 0.5244 - accuracy: 0.8212
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5203 - accuracy: 0.8199
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5203 - accuracy: 0.8191
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5232 - accuracy: 0.8171
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5243 - accuracy: 0.8170
##  7/15 [=============>................] - ETA: 1s - loss: 0.5300 - accuracy: 0.8138
##  8/15 [===============>..............] - ETA: 1s - loss: 0.5343 - accuracy: 0.8109
##  9/15 [=================>............] - ETA: 0s - loss: 0.5373 - accuracy: 0.8092
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5379 - accuracy: 0.8084
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5376 - accuracy: 0.8089
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5393 - accuracy: 0.8077
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5393 - accuracy: 0.8075
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5386 - accuracy: 0.8073
## 15/15 [==============================] - 2s 160ms/step - loss: 0.5393 - accuracy: 0.8073 - val_loss: 0.5363 - val_accuracy: 0.8087
## Epoch 16/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5427 - accuracy: 0.8105
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5358 - accuracy: 0.8107
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5279 - accuracy: 0.8156
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5227 - accuracy: 0.8181
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5190 - accuracy: 0.8206
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5134 - accuracy: 0.8213
##  7/15 [=============>................] - ETA: 1s - loss: 0.5150 - accuracy: 0.8199
##  8/15 [===============>..............] - ETA: 1s - loss: 0.5192 - accuracy: 0.8193
##  9/15 [=================>............] - ETA: 0s - loss: 0.5210 - accuracy: 0.8175
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5211 - accuracy: 0.8173
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5206 - accuracy: 0.8167
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5197 - accuracy: 0.8166
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5184 - accuracy: 0.8169
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5188 - accuracy: 0.8163
## 15/15 [==============================] - 3s 175ms/step - loss: 0.5188 - accuracy: 0.8163 - val_loss: 0.5545 - val_accuracy: 0.8046
## Epoch 17/30
## 
##  1/15 [=>............................] - ETA: 3s - loss: 0.5478 - accuracy: 0.8069
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5269 - accuracy: 0.8126
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5188 - accuracy: 0.8171
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5140 - accuracy: 0.8214
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5120 - accuracy: 0.8224
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5141 - accuracy: 0.8202
##  7/15 [=============>................] - ETA: 1s - loss: 0.5173 - accuracy: 0.8194
##  8/15 [===============>..............] - ETA: 1s - loss: 0.5235 - accuracy: 0.8173
##  9/15 [=================>............] - ETA: 1s - loss: 0.5278 - accuracy: 0.8146
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5312 - accuracy: 0.8133
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5316 - accuracy: 0.8126
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5337 - accuracy: 0.8121
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5323 - accuracy: 0.8128
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5299 - accuracy: 0.8139
## 15/15 [==============================] - ETA: 0s - loss: 0.5294 - accuracy: 0.8142
## 15/15 [==============================] - 3s 193ms/step - loss: 0.5294 - accuracy: 0.8142 - val_loss: 0.5185 - val_accuracy: 0.8166
## Epoch 18/30
## 
##  1/15 [=>............................] - ETA: 2s - loss: 0.5322 - accuracy: 0.8031
##  2/15 [===>..........................] - ETA: 2s - loss: 0.5375 - accuracy: 0.8086
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5276 - accuracy: 0.8139
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5263 - accuracy: 0.8143
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5193 - accuracy: 0.8175
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5170 - accuracy: 0.8179
##  7/15 [=============>................] - ETA: 1s - loss: 0.5150 - accuracy: 0.8172
##  8/15 [===============>..............] - ETA: 1s - loss: 0.5165 - accuracy: 0.8164
##  9/15 [=================>............] - ETA: 1s - loss: 0.5166 - accuracy: 0.8167
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5145 - accuracy: 0.8173
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5158 - accuracy: 0.8177
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5145 - accuracy: 0.8181
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5129 - accuracy: 0.8191
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5127 - accuracy: 0.8187
## 15/15 [==============================] - ETA: 0s - loss: 0.5123 - accuracy: 0.8185
## 15/15 [==============================] - 3s 179ms/step - loss: 0.5123 - accuracy: 0.8185 - val_loss: 0.5441 - val_accuracy: 0.8010
## Epoch 19/30
## 
##  1/15 [=>............................] - ETA: 2s - loss: 0.5657 - accuracy: 0.7940
##  2/15 [===>..........................] - ETA: 2s - loss: 0.5372 - accuracy: 0.8036
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5365 - accuracy: 0.8029
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5324 - accuracy: 0.8051
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5317 - accuracy: 0.8065
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5259 - accuracy: 0.8088
##  7/15 [=============>................] - ETA: 1s - loss: 0.5202 - accuracy: 0.8120
##  8/15 [===============>..............] - ETA: 1s - loss: 0.5154 - accuracy: 0.8149
##  9/15 [=================>............] - ETA: 0s - loss: 0.5127 - accuracy: 0.8169
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5108 - accuracy: 0.8184
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5081 - accuracy: 0.8196
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5061 - accuracy: 0.8209
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5048 - accuracy: 0.8215
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5040 - accuracy: 0.8222
## 15/15 [==============================] - ETA: 0s - loss: 0.5038 - accuracy: 0.8222
## 15/15 [==============================] - 3s 179ms/step - loss: 0.5038 - accuracy: 0.8222 - val_loss: 0.5351 - val_accuracy: 0.8141
## Epoch 20/30
## 
##  1/15 [=>............................] - ETA: 2s - loss: 0.5359 - accuracy: 0.8129
##  2/15 [===>..........................] - ETA: 2s - loss: 0.5261 - accuracy: 0.8135
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5174 - accuracy: 0.8155
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5168 - accuracy: 0.8161
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5188 - accuracy: 0.8162
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5204 - accuracy: 0.8159
##  7/15 [=============>................] - ETA: 1s - loss: 0.5264 - accuracy: 0.8140
##  8/15 [===============>..............] - ETA: 1s - loss: 0.5250 - accuracy: 0.8144
##  9/15 [=================>............] - ETA: 0s - loss: 0.5240 - accuracy: 0.8147
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5202 - accuracy: 0.8163
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5191 - accuracy: 0.8166
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5138 - accuracy: 0.8187
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5129 - accuracy: 0.8189
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5118 - accuracy: 0.8197
## 15/15 [==============================] - ETA: 0s - loss: 0.5114 - accuracy: 0.8196
## 15/15 [==============================] - 3s 172ms/step - loss: 0.5114 - accuracy: 0.8196 - val_loss: 0.5203 - val_accuracy: 0.8077
## Epoch 21/30
## 
##  1/15 [=>............................] - ETA: 2s - loss: 0.5249 - accuracy: 0.8010
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5326 - accuracy: 0.8044
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5137 - accuracy: 0.8133
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5190 - accuracy: 0.8126
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5104 - accuracy: 0.8162
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5113 - accuracy: 0.8151
##  7/15 [=============>................] - ETA: 1s - loss: 0.5082 - accuracy: 0.8165
##  8/15 [===============>..............] - ETA: 1s - loss: 0.5081 - accuracy: 0.8157
##  9/15 [=================>............] - ETA: 0s - loss: 0.5071 - accuracy: 0.8160
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5084 - accuracy: 0.8160
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5072 - accuracy: 0.8166
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5066 - accuracy: 0.8172
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5057 - accuracy: 0.8177
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5035 - accuracy: 0.8185
## 15/15 [==============================] - ETA: 0s - loss: 0.5028 - accuracy: 0.8189
## 15/15 [==============================] - 3s 174ms/step - loss: 0.5028 - accuracy: 0.8189 - val_loss: 0.4887 - val_accuracy: 0.8260
## Epoch 22/30
## 
##  1/15 [=>............................] - ETA: 2s - loss: 0.4952 - accuracy: 0.8231
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4873 - accuracy: 0.8287
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4812 - accuracy: 0.8311
##  4/15 [=======>......................] - ETA: 1s - loss: 0.4862 - accuracy: 0.8294
##  5/15 [=========>....................] - ETA: 1s - loss: 0.4847 - accuracy: 0.8308
##  6/15 [===========>..................] - ETA: 1s - loss: 0.4799 - accuracy: 0.8331
##  7/15 [=============>................] - ETA: 1s - loss: 0.4787 - accuracy: 0.8330
##  8/15 [===============>..............] - ETA: 1s - loss: 0.4786 - accuracy: 0.8328
##  9/15 [=================>............] - ETA: 0s - loss: 0.4771 - accuracy: 0.8332
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4772 - accuracy: 0.8328
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4793 - accuracy: 0.8318
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4792 - accuracy: 0.8319
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4802 - accuracy: 0.8312
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4803 - accuracy: 0.8310
## 15/15 [==============================] - ETA: 0s - loss: 0.4806 - accuracy: 0.8307
## 15/15 [==============================] - 3s 170ms/step - loss: 0.4806 - accuracy: 0.8307 - val_loss: 0.5193 - val_accuracy: 0.8113
## Epoch 23/30
## 
##  1/15 [=>............................] - ETA: 2s - loss: 0.5394 - accuracy: 0.8010
##  2/15 [===>..........................] - ETA: 2s - loss: 0.5320 - accuracy: 0.8042
##  3/15 [=====>........................] - ETA: 1s - loss: 0.5310 - accuracy: 0.8052
##  4/15 [=======>......................] - ETA: 1s - loss: 0.5246 - accuracy: 0.8107
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5182 - accuracy: 0.8137
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5127 - accuracy: 0.8168
##  7/15 [=============>................] - ETA: 1s - loss: 0.5048 - accuracy: 0.8205
##  8/15 [===============>..............] - ETA: 1s - loss: 0.5009 - accuracy: 0.8222
##  9/15 [=================>............] - ETA: 1s - loss: 0.4957 - accuracy: 0.8253
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4942 - accuracy: 0.8262
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4928 - accuracy: 0.8266
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4920 - accuracy: 0.8268
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4892 - accuracy: 0.8282
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4884 - accuracy: 0.8288
## 15/15 [==============================] - 3s 180ms/step - loss: 0.4884 - accuracy: 0.8288 - val_loss: 0.4781 - val_accuracy: 0.8323
## Epoch 24/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4624 - accuracy: 0.8350
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4523 - accuracy: 0.8410
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4628 - accuracy: 0.8366
##  4/15 [=======>......................] - ETA: 1s - loss: 0.4613 - accuracy: 0.8402
##  5/15 [=========>....................] - ETA: 1s - loss: 0.4614 - accuracy: 0.8421
##  6/15 [===========>..................] - ETA: 1s - loss: 0.4657 - accuracy: 0.8406
##  7/15 [=============>................] - ETA: 1s - loss: 0.4700 - accuracy: 0.8372
##  8/15 [===============>..............] - ETA: 1s - loss: 0.4718 - accuracy: 0.8360
##  9/15 [=================>............] - ETA: 0s - loss: 0.4705 - accuracy: 0.8363
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4714 - accuracy: 0.8358
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4715 - accuracy: 0.8352
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4722 - accuracy: 0.8342
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4742 - accuracy: 0.8328
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4767 - accuracy: 0.8320
## 15/15 [==============================] - 2s 157ms/step - loss: 0.4765 - accuracy: 0.8320 - val_loss: 0.4829 - val_accuracy: 0.8257
## Epoch 25/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4574 - accuracy: 0.8348
##  2/15 [===>..........................] - ETA: 2s - loss: 0.4642 - accuracy: 0.8330
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4665 - accuracy: 0.8328
##  4/15 [=======>......................] - ETA: 1s - loss: 0.4723 - accuracy: 0.8304
##  5/15 [=========>....................] - ETA: 1s - loss: 0.4685 - accuracy: 0.8320
##  6/15 [===========>..................] - ETA: 1s - loss: 0.4678 - accuracy: 0.8326
##  7/15 [=============>................] - ETA: 1s - loss: 0.4710 - accuracy: 0.8315
##  8/15 [===============>..............] - ETA: 1s - loss: 0.4737 - accuracy: 0.8301
##  9/15 [=================>............] - ETA: 0s - loss: 0.4740 - accuracy: 0.8307
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4744 - accuracy: 0.8305
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4742 - accuracy: 0.8299
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4750 - accuracy: 0.8294
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4745 - accuracy: 0.8293
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4731 - accuracy: 0.8306
## 15/15 [==============================] - ETA: 0s - loss: 0.4724 - accuracy: 0.8308
## 15/15 [==============================] - 2s 159ms/step - loss: 0.4724 - accuracy: 0.8308 - val_loss: 0.4647 - val_accuracy: 0.8389
## Epoch 26/30
## 
##  1/15 [=>............................] - ETA: 2s - loss: 0.4504 - accuracy: 0.8440
##  2/15 [===>..........................] - ETA: 2s - loss: 0.4534 - accuracy: 0.8405
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4589 - accuracy: 0.8371
##  4/15 [=======>......................] - ETA: 1s - loss: 0.4583 - accuracy: 0.8377
##  5/15 [=========>....................] - ETA: 1s - loss: 0.4595 - accuracy: 0.8375
##  6/15 [===========>..................] - ETA: 1s - loss: 0.4585 - accuracy: 0.8378
##  7/15 [=============>................] - ETA: 1s - loss: 0.4581 - accuracy: 0.8376
##  8/15 [===============>..............] - ETA: 1s - loss: 0.4582 - accuracy: 0.8384
##  9/15 [=================>............] - ETA: 0s - loss: 0.4580 - accuracy: 0.8384
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4596 - accuracy: 0.8376
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4626 - accuracy: 0.8366
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4655 - accuracy: 0.8355
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4702 - accuracy: 0.8343
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4720 - accuracy: 0.8333
## 15/15 [==============================] - 2s 160ms/step - loss: 0.4717 - accuracy: 0.8334 - val_loss: 0.4604 - val_accuracy: 0.8403
## Epoch 27/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4537 - accuracy: 0.8400
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4589 - accuracy: 0.8364
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4546 - accuracy: 0.8383
##  4/15 [=======>......................] - ETA: 1s - loss: 0.4579 - accuracy: 0.8380
##  5/15 [=========>....................] - ETA: 1s - loss: 0.4550 - accuracy: 0.8386
##  6/15 [===========>..................] - ETA: 1s - loss: 0.4565 - accuracy: 0.8385
##  7/15 [=============>................] - ETA: 1s - loss: 0.4574 - accuracy: 0.8375
##  8/15 [===============>..............] - ETA: 1s - loss: 0.4617 - accuracy: 0.8357
##  9/15 [=================>............] - ETA: 0s - loss: 0.4625 - accuracy: 0.8362
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4613 - accuracy: 0.8366
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4594 - accuracy: 0.8374
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4579 - accuracy: 0.8381
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4584 - accuracy: 0.8378
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4582 - accuracy: 0.8381
## 15/15 [==============================] - ETA: 0s - loss: 0.4580 - accuracy: 0.8380
## 15/15 [==============================] - 2s 159ms/step - loss: 0.4580 - accuracy: 0.8380 - val_loss: 0.4836 - val_accuracy: 0.8298
## Epoch 28/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4820 - accuracy: 0.8300
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4838 - accuracy: 0.8264
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4930 - accuracy: 0.8242
##  4/15 [=======>......................] - ETA: 1s - loss: 0.4869 - accuracy: 0.8276
##  5/15 [=========>....................] - ETA: 1s - loss: 0.4835 - accuracy: 0.8294
##  6/15 [===========>..................] - ETA: 1s - loss: 0.4800 - accuracy: 0.8302
##  7/15 [=============>................] - ETA: 1s - loss: 0.4744 - accuracy: 0.8322
##  8/15 [===============>..............] - ETA: 1s - loss: 0.4707 - accuracy: 0.8336
##  9/15 [=================>............] - ETA: 0s - loss: 0.4691 - accuracy: 0.8351
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4683 - accuracy: 0.8349
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4659 - accuracy: 0.8363
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4671 - accuracy: 0.8359
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4674 - accuracy: 0.8359
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4667 - accuracy: 0.8359
## 15/15 [==============================] - ETA: 0s - loss: 0.4663 - accuracy: 0.8362
## 15/15 [==============================] - 2s 160ms/step - loss: 0.4663 - accuracy: 0.8362 - val_loss: 0.4639 - val_accuracy: 0.8413
## Epoch 29/30
## 
##  1/15 [=>............................] - ETA: 2s - loss: 0.4661 - accuracy: 0.8352
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4760 - accuracy: 0.8311
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4660 - accuracy: 0.8362
##  4/15 [=======>......................] - ETA: 1s - loss: 0.4694 - accuracy: 0.8346
##  5/15 [=========>....................] - ETA: 1s - loss: 0.4697 - accuracy: 0.8344
##  6/15 [===========>..................] - ETA: 1s - loss: 0.4679 - accuracy: 0.8348
##  7/15 [=============>................] - ETA: 1s - loss: 0.4652 - accuracy: 0.8354
##  8/15 [===============>..............] - ETA: 1s - loss: 0.4635 - accuracy: 0.8359
##  9/15 [=================>............] - ETA: 0s - loss: 0.4651 - accuracy: 0.8344
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4656 - accuracy: 0.8343
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4654 - accuracy: 0.8346
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4655 - accuracy: 0.8345
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4640 - accuracy: 0.8345
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4623 - accuracy: 0.8350
## 15/15 [==============================] - 2s 157ms/step - loss: 0.4614 - accuracy: 0.8353 - val_loss: 0.4551 - val_accuracy: 0.8421
## Epoch 30/30
## 
##  1/15 [=>............................] - ETA: 2s - loss: 0.4476 - accuracy: 0.8443
##  2/15 [===>..........................] - ETA: 2s - loss: 0.4384 - accuracy: 0.8507
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4418 - accuracy: 0.8494
##  4/15 [=======>......................] - ETA: 1s - loss: 0.4421 - accuracy: 0.8489
##  5/15 [=========>....................] - ETA: 1s - loss: 0.4411 - accuracy: 0.8489
##  6/15 [===========>..................] - ETA: 1s - loss: 0.4394 - accuracy: 0.8485
##  7/15 [=============>................] - ETA: 1s - loss: 0.4378 - accuracy: 0.8488
##  8/15 [===============>..............] - ETA: 1s - loss: 0.4382 - accuracy: 0.8481
##  9/15 [=================>............] - ETA: 0s - loss: 0.4401 - accuracy: 0.8470
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4415 - accuracy: 0.8467
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4413 - accuracy: 0.8462
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4421 - accuracy: 0.8458
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4432 - accuracy: 0.8452
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4433 - accuracy: 0.8449
## 15/15 [==============================] - 2s 157ms/step - loss: 0.4434 - accuracy: 0.8449 - val_loss: 0.4714 - val_accuracy: 0.8293
plot(history_3)

Model Evaluation

Untuk memprediksi hasilnya, kita gunakan fungsi predict()

pred_1 <- predict(model_1, test_x) %>% 
  k_argmax() %>% as.array() %>% as.factor()
## 313/313 - 1s - 898ms/epoch - 3ms/step
pred_2 <- predict(model_2, test_x) %>% 
  k_argmax() %>% as.array() %>% as.factor()
## 313/313 - 1s - 838ms/epoch - 3ms/step
pred_3 <- predict(model_3, test_x) %>% 
  k_argmax() %>% as.array() %>% as.factor()
## 313/313 - 2s - 2s/epoch - 7ms/step
library(caret)
confusionMatrix(data=pred_1, reference = as.factor(fmnist_test$label))
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction   0   1   2   3   4   5   6   7   8   9
##          0 728   1   8  26   0   3 141   0   2   0
##          1  22 939   2  25   5   0   9   0   1   0
##          2   3  15 444   1  12   0  39   0   3   0
##          3  72  23   4 842  21   1  35   0  10   0
##          4  15  12 382  70 928   0 337   0  13   0
##          5   1   1   0   0   0 816   1  26   6  11
##          6 130   9 146  33  31   0 411   0  23   0
##          7   1   0   0   0   0  89   0 854  10  55
##          8  27   0  14   3   3  13  26   0 929   0
##          9   1   0   0   0   0  78   1 120   3 934
## 
## Overall Statistics
##                                                
##                Accuracy : 0.7825               
##                  95% CI : (0.7743, 0.7906)     
##     No Information Rate : 0.1                  
##     P-Value [Acc > NIR] : < 0.00000000000000022
##                                                
##                   Kappa : 0.7583               
##                                                
##  Mcnemar's Test P-Value : NA                   
## 
## Statistics by Class:
## 
##                      Class: 0 Class: 1 Class: 2 Class: 3 Class: 4 Class: 5
## Sensitivity            0.7280   0.9390   0.4440   0.8420   0.9280   0.8160
## Specificity            0.9799   0.9929   0.9919   0.9816   0.9079   0.9949
## Pos Pred Value         0.8009   0.9362   0.8588   0.8353   0.5282   0.9466
## Neg Pred Value         0.9701   0.9932   0.9414   0.9824   0.9913   0.9799
## Prevalence             0.1000   0.1000   0.1000   0.1000   0.1000   0.1000
## Detection Rate         0.0728   0.0939   0.0444   0.0842   0.0928   0.0816
## Detection Prevalence   0.0909   0.1003   0.0517   0.1008   0.1757   0.0862
## Balanced Accuracy      0.8539   0.9659   0.7179   0.9118   0.9179   0.9054
##                      Class: 6 Class: 7 Class: 8 Class: 9
## Sensitivity            0.4110   0.8540   0.9290   0.9340
## Specificity            0.9587   0.9828   0.9904   0.9774
## Pos Pred Value         0.5249   0.8464   0.9153   0.8215
## Neg Pred Value         0.9361   0.9838   0.9921   0.9926
## Prevalence             0.1000   0.1000   0.1000   0.1000
## Detection Rate         0.0411   0.0854   0.0929   0.0934
## Detection Prevalence   0.0783   0.1009   0.1015   0.1137
## Balanced Accuracy      0.6848   0.9184   0.9597   0.9557
confusionMatrix(data=pred_2, reference = as.factor(fmnist_test$label))
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction   0   1   2   3   4   5   6   7   8   9
##          0 826   3  15  49   0   2 158   0   2   0
##          1  11 967   2  27   0   0   6   0   1   0
##          2   4   4 584   6  23   0  58   0   0   0
##          3  25  13   7 818  19   1  12   0   3   0
##          4   1   3 218  48 844   0  87   0   5   0
##          5   5   1   0   2   0 917   1  52   8  15
##          6 116   9 163  48 112   1 661   0  28   0
##          7   0   0   0   0   0  31   0 823   4  20
##          8  12   0  11   2   2   6  16   0 945   0
##          9   0   0   0   0   0  42   1 125   4 965
## 
## Overall Statistics
##                                                
##                Accuracy : 0.835                
##                  95% CI : (0.8276, 0.8422)     
##     No Information Rate : 0.1                  
##     P-Value [Acc > NIR] : < 0.00000000000000022
##                                                
##                   Kappa : 0.8167               
##                                                
##  Mcnemar's Test P-Value : NA                   
## 
## Statistics by Class:
## 
##                      Class: 0 Class: 1 Class: 2 Class: 3 Class: 4 Class: 5
## Sensitivity            0.8260   0.9670   0.5840   0.8180   0.8440   0.9170
## Specificity            0.9746   0.9948   0.9894   0.9911   0.9598   0.9907
## Pos Pred Value         0.7829   0.9536   0.8601   0.9109   0.6998   0.9161
## Neg Pred Value         0.9805   0.9963   0.9554   0.9800   0.9823   0.9908
## Prevalence             0.1000   0.1000   0.1000   0.1000   0.1000   0.1000
## Detection Rate         0.0826   0.0967   0.0584   0.0818   0.0844   0.0917
## Detection Prevalence   0.1055   0.1014   0.0679   0.0898   0.1206   0.1001
## Balanced Accuracy      0.9003   0.9809   0.7867   0.9046   0.9019   0.9538
##                      Class: 6 Class: 7 Class: 8 Class: 9
## Sensitivity            0.6610   0.8230   0.9450   0.9650
## Specificity            0.9470   0.9939   0.9946   0.9809
## Pos Pred Value         0.5808   0.9374   0.9507   0.8487
## Neg Pred Value         0.9617   0.9806   0.9939   0.9961
## Prevalence             0.1000   0.1000   0.1000   0.1000
## Detection Rate         0.0661   0.0823   0.0945   0.0965
## Detection Prevalence   0.1138   0.0878   0.0994   0.1137
## Balanced Accuracy      0.8040   0.9084   0.9698   0.9729
confusionMatrix(data=pred_3, reference = as.factor(fmnist_test$label))
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction   0   1   2   3   4   5   6   7   8   9
##          0 846   1  14  35   1   1 212   0   3   1
##          1   7 959   2  19   2   0   4   0   0   0
##          2  22  14 899  24 345   1 193   0  21   0
##          3  47  21  10 891  53   1  35   0   7   0
##          4   0   0  28  14 513   0  37   0   2   0
##          5   2   1   0   1   0 928   1  53   6  17
##          6  60   4  36  14  83   0 499   0   7   0
##          7   0   0   0   0   0  41   0 871   7  41
##          8  15   0  11   2   3   6  19   0 947   1
##          9   1   0   0   0   0  22   0  76   0 940
## 
## Overall Statistics
##                                                
##                Accuracy : 0.8293               
##                  95% CI : (0.8218, 0.8366)     
##     No Information Rate : 0.1                  
##     P-Value [Acc > NIR] : < 0.00000000000000022
##                                                
##                   Kappa : 0.8103               
##                                                
##  Mcnemar's Test P-Value : NA                   
## 
## Statistics by Class:
## 
##                      Class: 0 Class: 1 Class: 2 Class: 3 Class: 4 Class: 5
## Sensitivity            0.8460   0.9590   0.8990   0.8910   0.5130   0.9280
## Specificity            0.9702   0.9962   0.9311   0.9807   0.9910   0.9910
## Pos Pred Value         0.7594   0.9658   0.5918   0.8366   0.8636   0.9197
## Neg Pred Value         0.9827   0.9954   0.9881   0.9878   0.9482   0.9920
## Prevalence             0.1000   0.1000   0.1000   0.1000   0.1000   0.1000
## Detection Rate         0.0846   0.0959   0.0899   0.0891   0.0513   0.0928
## Detection Prevalence   0.1114   0.0993   0.1519   0.1065   0.0594   0.1009
## Balanced Accuracy      0.9081   0.9776   0.9151   0.9358   0.7520   0.9595
##                      Class: 6 Class: 7 Class: 8 Class: 9
## Sensitivity            0.4990   0.8710   0.9470   0.9400
## Specificity            0.9773   0.9901   0.9937   0.9890
## Pos Pred Value         0.7098   0.9073   0.9432   0.9047
## Neg Pred Value         0.9461   0.9857   0.9941   0.9933
## Prevalence             0.1000   0.1000   0.1000   0.1000
## Detection Rate         0.0499   0.0871   0.0947   0.0940
## Detection Prevalence   0.0703   0.0960   0.1004   0.1039
## Balanced Accuracy      0.7382   0.9306   0.9703   0.9645

Model Improvement

Kita bisa mengimprove model sesuai hyper-parameter yang sudah kita pelajari kemarin:

  1. Jenis Activation Function
  2. Jumlah neuron
  3. Jumlah layer
  4. Jenis optimizer
  5. Learning rate
  6. Jumlah Epoch

Untuk tuning model ini, karena model_2 memiliki accuracy jauh lebih tinggi dibandingkan model lainnya, kita kaan mempertahankan neuron, lalu menambahkan layer ketiga pada model tuning tersebut. Selain itu pada optimizer, kita akan menggunakan optimizer_adam dengan learning_rate sebesar 0.001.

model_tn <- keras_model_sequential(name = "model_tn") %>% 
  
   layer_dense(input_shape = input_dim, #jumlah prediktor
            units = 128,#jumlah node/neuron
   activation = "relu", #fungsi aktivasi
            name = "hidden_1") %>%  #nama dari hidden layer

  # hidden layer 2
  layer_dense( units = 64,#jumlah node/neuron
   activation = "relu", #fungsi aktivasi
            name = "hidden_2") %>%  #nama dari hidden layer
# hidden layer 3
  layer_dense( units = 32,#jumlah node/neuron
   activation = "relu", #fungsi aktivasi
            name = "hidden_3") %>%  #nama dari hidden layer
  # output layer
 layer_dense(units = num_class #jumlah kelas target
             , activation = "softmax",
             name = "Output")
  
model_tn %>% 
  compile(
    loss = "categorical_crossentropy",
    optimizer = optimizer_adam(learning_rate = 0.001),
    metrics = "accuracy"
  )

# FIT MODEL
history_tn <- model_tn %>% 
  fit(x = train_x,
      y = train_y,
      epochs = 30,
      batch_size = 4200, 
      validation_data = list(test_x,test_y),
      verbose = 1)
## Epoch 1/30
## 
##  1/15 [=>............................] - ETA: 31s - loss: 2.3428 - accuracy: 0.0583
##  2/15 [===>..........................] - ETA: 0s - loss: 2.2654 - accuracy: 0.1388 
##  3/15 [=====>........................] - ETA: 0s - loss: 2.2037 - accuracy: 0.1844
##  4/15 [=======>......................] - ETA: 0s - loss: 2.1530 - accuracy: 0.2325
##  5/15 [=========>....................] - ETA: 0s - loss: 2.1065 - accuracy: 0.2749
##  6/15 [===========>..................] - ETA: 0s - loss: 2.0625 - accuracy: 0.3069
##  7/15 [=============>................] - ETA: 0s - loss: 2.0192 - accuracy: 0.3328
##  8/15 [===============>..............] - ETA: 0s - loss: 1.9752 - accuracy: 0.3569
##  9/15 [=================>............] - ETA: 0s - loss: 1.9315 - accuracy: 0.3799
## 10/15 [===================>..........] - ETA: 0s - loss: 1.8898 - accuracy: 0.4000
## 11/15 [=====================>........] - ETA: 0s - loss: 1.8491 - accuracy: 0.4175
## 12/15 [=======================>......] - ETA: 0s - loss: 1.8092 - accuracy: 0.4340
## 13/15 [=========================>....] - ETA: 0s - loss: 1.7704 - accuracy: 0.4485
## 14/15 [===========================>..] - ETA: 0s - loss: 1.7322 - accuracy: 0.4624
## 15/15 [==============================] - 4s 95ms/step - loss: 1.7220 - accuracy: 0.4658 - val_loss: 1.1675 - val_accuracy: 0.6416
## Epoch 2/30
## 
##  1/15 [=>............................] - ETA: 0s - loss: 1.1620 - accuracy: 0.6436
##  2/15 [===>..........................] - ETA: 0s - loss: 1.1436 - accuracy: 0.6470
##  3/15 [=====>........................] - ETA: 0s - loss: 1.1254 - accuracy: 0.6510
##  4/15 [=======>......................] - ETA: 0s - loss: 1.1117 - accuracy: 0.6505
##  5/15 [=========>....................] - ETA: 0s - loss: 1.0963 - accuracy: 0.6500
##  6/15 [===========>..................] - ETA: 0s - loss: 1.0808 - accuracy: 0.6518
##  7/15 [=============>................] - ETA: 0s - loss: 1.0666 - accuracy: 0.6546
##  8/15 [===============>..............] - ETA: 0s - loss: 1.0524 - accuracy: 0.6568
##  9/15 [=================>............] - ETA: 0s - loss: 1.0384 - accuracy: 0.6593
## 10/15 [===================>..........] - ETA: 0s - loss: 1.0261 - accuracy: 0.6605
## 11/15 [=====================>........] - ETA: 0s - loss: 1.0105 - accuracy: 0.6630
## 12/15 [=======================>......] - ETA: 0s - loss: 0.9986 - accuracy: 0.6643
## 13/15 [=========================>....] - ETA: 0s - loss: 0.9840 - accuracy: 0.6677
## 14/15 [===========================>..] - ETA: 0s - loss: 0.9716 - accuracy: 0.6720
## 15/15 [==============================] - 1s 84ms/step - loss: 0.9673 - accuracy: 0.6731 - val_loss: 0.7786 - val_accuracy: 0.7231
## Epoch 3/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.8022 - accuracy: 0.7067
##  2/15 [===>..........................] - ETA: 1s - loss: 0.7803 - accuracy: 0.7192
##  3/15 [=====>........................] - ETA: 0s - loss: 0.7758 - accuracy: 0.7210
##  4/15 [=======>......................] - ETA: 0s - loss: 0.7648 - accuracy: 0.7274
##  5/15 [=========>....................] - ETA: 0s - loss: 0.7562 - accuracy: 0.7331
##  6/15 [===========>..................] - ETA: 0s - loss: 0.7484 - accuracy: 0.7379
##  7/15 [=============>................] - ETA: 0s - loss: 0.7409 - accuracy: 0.7407
##  8/15 [===============>..............] - ETA: 0s - loss: 0.7327 - accuracy: 0.7449
##  9/15 [=================>............] - ETA: 0s - loss: 0.7270 - accuracy: 0.7469
## 10/15 [===================>..........] - ETA: 0s - loss: 0.7211 - accuracy: 0.7492
## 11/15 [=====================>........] - ETA: 0s - loss: 0.7128 - accuracy: 0.7527
## 12/15 [=======================>......] - ETA: 0s - loss: 0.7081 - accuracy: 0.7538
## 13/15 [=========================>....] - ETA: 0s - loss: 0.7037 - accuracy: 0.7564
## 14/15 [===========================>..] - ETA: 0s - loss: 0.6984 - accuracy: 0.7585
## 15/15 [==============================] - 1s 102ms/step - loss: 0.6967 - accuracy: 0.7591 - val_loss: 0.6182 - val_accuracy: 0.7919
## Epoch 4/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.6204 - accuracy: 0.7912
##  2/15 [===>..........................] - ETA: 1s - loss: 0.6262 - accuracy: 0.7874
##  3/15 [=====>........................] - ETA: 1s - loss: 0.6235 - accuracy: 0.7863
##  4/15 [=======>......................] - ETA: 0s - loss: 0.6226 - accuracy: 0.7850
##  5/15 [=========>....................] - ETA: 0s - loss: 0.6156 - accuracy: 0.7867
##  6/15 [===========>..................] - ETA: 0s - loss: 0.6136 - accuracy: 0.7877
##  7/15 [=============>................] - ETA: 0s - loss: 0.6080 - accuracy: 0.7897
##  8/15 [===============>..............] - ETA: 0s - loss: 0.6045 - accuracy: 0.7914
##  9/15 [=================>............] - ETA: 0s - loss: 0.6009 - accuracy: 0.7926
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5975 - accuracy: 0.7928
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5959 - accuracy: 0.7937
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5912 - accuracy: 0.7958
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5889 - accuracy: 0.7971
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5850 - accuracy: 0.7991
## 15/15 [==============================] - 1s 96ms/step - loss: 0.5847 - accuracy: 0.7994 - val_loss: 0.5569 - val_accuracy: 0.8096
## Epoch 5/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.5706 - accuracy: 0.8074
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5560 - accuracy: 0.8105
##  3/15 [=====>........................] - ETA: 2s - loss: 0.5484 - accuracy: 0.8110
##  4/15 [=======>......................] - ETA: 2s - loss: 0.5414 - accuracy: 0.8138
##  5/15 [=========>....................] - ETA: 1s - loss: 0.5391 - accuracy: 0.8153
##  6/15 [===========>..................] - ETA: 1s - loss: 0.5346 - accuracy: 0.8150
##  7/15 [=============>................] - ETA: 1s - loss: 0.5318 - accuracy: 0.8168
##  8/15 [===============>..............] - ETA: 1s - loss: 0.5312 - accuracy: 0.8171
##  9/15 [=================>............] - ETA: 0s - loss: 0.5304 - accuracy: 0.8176
## 10/15 [===================>..........] - ETA: 0s - loss: 0.5291 - accuracy: 0.8183
## 11/15 [=====================>........] - ETA: 0s - loss: 0.5287 - accuracy: 0.8184
## 12/15 [=======================>......] - ETA: 0s - loss: 0.5269 - accuracy: 0.8188
## 13/15 [=========================>....] - ETA: 0s - loss: 0.5261 - accuracy: 0.8186
## 14/15 [===========================>..] - ETA: 0s - loss: 0.5247 - accuracy: 0.8195
## 15/15 [==============================] - 3s 180ms/step - loss: 0.5247 - accuracy: 0.8197 - val_loss: 0.5088 - val_accuracy: 0.8273
## Epoch 6/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4889 - accuracy: 0.8376
##  2/15 [===>..........................] - ETA: 1s - loss: 0.5004 - accuracy: 0.8296
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4991 - accuracy: 0.8270
##  4/15 [=======>......................] - ETA: 1s - loss: 0.4959 - accuracy: 0.8279
##  5/15 [=========>....................] - ETA: 1s - loss: 0.4933 - accuracy: 0.8284
##  6/15 [===========>..................] - ETA: 1s - loss: 0.4923 - accuracy: 0.8292
##  7/15 [=============>................] - ETA: 1s - loss: 0.4927 - accuracy: 0.8298
##  8/15 [===============>..............] - ETA: 0s - loss: 0.4913 - accuracy: 0.8296
##  9/15 [=================>............] - ETA: 0s - loss: 0.4945 - accuracy: 0.8276
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4932 - accuracy: 0.8283
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4947 - accuracy: 0.8279
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4930 - accuracy: 0.8293
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4929 - accuracy: 0.8294
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4924 - accuracy: 0.8298
## 15/15 [==============================] - 2s 126ms/step - loss: 0.4922 - accuracy: 0.8301 - val_loss: 0.4762 - val_accuracy: 0.8380
## Epoch 7/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4794 - accuracy: 0.8293
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4701 - accuracy: 0.8361
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4750 - accuracy: 0.8368
##  4/15 [=======>......................] - ETA: 0s - loss: 0.4742 - accuracy: 0.8361
##  5/15 [=========>....................] - ETA: 0s - loss: 0.4673 - accuracy: 0.8384
##  6/15 [===========>..................] - ETA: 0s - loss: 0.4658 - accuracy: 0.8384
##  7/15 [=============>................] - ETA: 0s - loss: 0.4668 - accuracy: 0.8386
##  8/15 [===============>..............] - ETA: 0s - loss: 0.4665 - accuracy: 0.8388
##  9/15 [=================>............] - ETA: 0s - loss: 0.4685 - accuracy: 0.8384
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4672 - accuracy: 0.8384
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4657 - accuracy: 0.8390
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4639 - accuracy: 0.8392
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4637 - accuracy: 0.8392
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4649 - accuracy: 0.8389
## 15/15 [==============================] - 1s 97ms/step - loss: 0.4654 - accuracy: 0.8388 - val_loss: 0.4606 - val_accuracy: 0.8426
## Epoch 8/30
## 
##  1/15 [=>............................] - ETA: 0s - loss: 0.4640 - accuracy: 0.8386
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4636 - accuracy: 0.8385
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4559 - accuracy: 0.8402
##  4/15 [=======>......................] - ETA: 1s - loss: 0.4489 - accuracy: 0.8429
##  5/15 [=========>....................] - ETA: 0s - loss: 0.4482 - accuracy: 0.8427
##  6/15 [===========>..................] - ETA: 0s - loss: 0.4481 - accuracy: 0.8423
##  7/15 [=============>................] - ETA: 0s - loss: 0.4480 - accuracy: 0.8420
##  8/15 [===============>..............] - ETA: 0s - loss: 0.4474 - accuracy: 0.8421
##  9/15 [=================>............] - ETA: 0s - loss: 0.4455 - accuracy: 0.8436
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4469 - accuracy: 0.8439
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4467 - accuracy: 0.8445
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4453 - accuracy: 0.8451
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4454 - accuracy: 0.8448
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4459 - accuracy: 0.8448
## 15/15 [==============================] - 1s 98ms/step - loss: 0.4455 - accuracy: 0.8448 - val_loss: 0.4458 - val_accuracy: 0.8462
## Epoch 9/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4344 - accuracy: 0.8467
##  2/15 [===>..........................] - ETA: 0s - loss: 0.4408 - accuracy: 0.8435
##  3/15 [=====>........................] - ETA: 0s - loss: 0.4395 - accuracy: 0.8449
##  4/15 [=======>......................] - ETA: 0s - loss: 0.4399 - accuracy: 0.8448
##  5/15 [=========>....................] - ETA: 0s - loss: 0.4402 - accuracy: 0.8457
##  6/15 [===========>..................] - ETA: 0s - loss: 0.4378 - accuracy: 0.8463
##  7/15 [=============>................] - ETA: 0s - loss: 0.4336 - accuracy: 0.8484
##  8/15 [===============>..............] - ETA: 0s - loss: 0.4326 - accuracy: 0.8486
##  9/15 [=================>............] - ETA: 0s - loss: 0.4311 - accuracy: 0.8489
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4309 - accuracy: 0.8488
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4304 - accuracy: 0.8495
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4323 - accuracy: 0.8491
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4305 - accuracy: 0.8498
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4304 - accuracy: 0.8498
## 15/15 [==============================] - ETA: 0s - loss: 0.4300 - accuracy: 0.8500
## 15/15 [==============================] - 1s 101ms/step - loss: 0.4300 - accuracy: 0.8500 - val_loss: 0.4282 - val_accuracy: 0.8550
## Epoch 10/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4113 - accuracy: 0.8557
##  2/15 [===>..........................] - ETA: 0s - loss: 0.4215 - accuracy: 0.8536
##  3/15 [=====>........................] - ETA: 0s - loss: 0.4192 - accuracy: 0.8522
##  4/15 [=======>......................] - ETA: 0s - loss: 0.4179 - accuracy: 0.8517
##  5/15 [=========>....................] - ETA: 0s - loss: 0.4214 - accuracy: 0.8509
##  6/15 [===========>..................] - ETA: 0s - loss: 0.4222 - accuracy: 0.8519
##  7/15 [=============>................] - ETA: 0s - loss: 0.4228 - accuracy: 0.8522
##  8/15 [===============>..............] - ETA: 0s - loss: 0.4222 - accuracy: 0.8522
##  9/15 [=================>............] - ETA: 0s - loss: 0.4230 - accuracy: 0.8521
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4222 - accuracy: 0.8524
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4210 - accuracy: 0.8526
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4214 - accuracy: 0.8525
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4192 - accuracy: 0.8531
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4180 - accuracy: 0.8536
## 15/15 [==============================] - 1s 89ms/step - loss: 0.4173 - accuracy: 0.8539 - val_loss: 0.4160 - val_accuracy: 0.8586
## Epoch 11/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4284 - accuracy: 0.8502
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4202 - accuracy: 0.8537
##  3/15 [=====>........................] - ETA: 0s - loss: 0.4111 - accuracy: 0.8562
##  4/15 [=======>......................] - ETA: 0s - loss: 0.4083 - accuracy: 0.8575
##  5/15 [=========>....................] - ETA: 0s - loss: 0.4050 - accuracy: 0.8581
##  6/15 [===========>..................] - ETA: 0s - loss: 0.4065 - accuracy: 0.8580
##  7/15 [=============>................] - ETA: 0s - loss: 0.4051 - accuracy: 0.8579
##  8/15 [===============>..............] - ETA: 0s - loss: 0.4048 - accuracy: 0.8579
##  9/15 [=================>............] - ETA: 0s - loss: 0.4054 - accuracy: 0.8578
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4052 - accuracy: 0.8580
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4040 - accuracy: 0.8584
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4038 - accuracy: 0.8591
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4043 - accuracy: 0.8592
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4045 - accuracy: 0.8589
## 15/15 [==============================] - 1s 93ms/step - loss: 0.4051 - accuracy: 0.8589 - val_loss: 0.4112 - val_accuracy: 0.8581
## Epoch 12/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4208 - accuracy: 0.8543
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4042 - accuracy: 0.8612
##  3/15 [=====>........................] - ETA: 0s - loss: 0.4023 - accuracy: 0.8610
##  4/15 [=======>......................] - ETA: 0s - loss: 0.3998 - accuracy: 0.8608
##  5/15 [=========>....................] - ETA: 0s - loss: 0.4040 - accuracy: 0.8594
##  6/15 [===========>..................] - ETA: 0s - loss: 0.4025 - accuracy: 0.8591
##  7/15 [=============>................] - ETA: 0s - loss: 0.3999 - accuracy: 0.8603
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3994 - accuracy: 0.8604
##  9/15 [=================>............] - ETA: 0s - loss: 0.4001 - accuracy: 0.8604
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3999 - accuracy: 0.8610
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4013 - accuracy: 0.8600
## 12/15 [=======================>......] - ETA: 0s - loss: 0.4014 - accuracy: 0.8597
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4004 - accuracy: 0.8600
## 14/15 [===========================>..] - ETA: 0s - loss: 0.4020 - accuracy: 0.8594
## 15/15 [==============================] - 1s 97ms/step - loss: 0.4008 - accuracy: 0.8597 - val_loss: 0.4285 - val_accuracy: 0.8467
## Epoch 13/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.4343 - accuracy: 0.8388
##  2/15 [===>..........................] - ETA: 1s - loss: 0.4105 - accuracy: 0.8488
##  3/15 [=====>........................] - ETA: 1s - loss: 0.4139 - accuracy: 0.8494
##  4/15 [=======>......................] - ETA: 0s - loss: 0.4114 - accuracy: 0.8504
##  5/15 [=========>....................] - ETA: 0s - loss: 0.4084 - accuracy: 0.8516
##  6/15 [===========>..................] - ETA: 0s - loss: 0.4068 - accuracy: 0.8526
##  7/15 [=============>................] - ETA: 0s - loss: 0.4049 - accuracy: 0.8539
##  8/15 [===============>..............] - ETA: 0s - loss: 0.4031 - accuracy: 0.8550
##  9/15 [=================>............] - ETA: 0s - loss: 0.4030 - accuracy: 0.8557
## 10/15 [===================>..........] - ETA: 0s - loss: 0.4015 - accuracy: 0.8561
## 11/15 [=====================>........] - ETA: 0s - loss: 0.4006 - accuracy: 0.8571
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3987 - accuracy: 0.8582
## 13/15 [=========================>....] - ETA: 0s - loss: 0.4006 - accuracy: 0.8580
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3985 - accuracy: 0.8588
## 15/15 [==============================] - 2s 101ms/step - loss: 0.3983 - accuracy: 0.8590 - val_loss: 0.3991 - val_accuracy: 0.8617
## Epoch 14/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3916 - accuracy: 0.8621
##  2/15 [===>..........................] - ETA: 1s - loss: 0.3891 - accuracy: 0.8618
##  3/15 [=====>........................] - ETA: 1s - loss: 0.3888 - accuracy: 0.8613
##  4/15 [=======>......................] - ETA: 1s - loss: 0.3866 - accuracy: 0.8620
##  5/15 [=========>....................] - ETA: 0s - loss: 0.3848 - accuracy: 0.8636
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3840 - accuracy: 0.8648
##  7/15 [=============>................] - ETA: 0s - loss: 0.3831 - accuracy: 0.8650
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3833 - accuracy: 0.8643
##  9/15 [=================>............] - ETA: 0s - loss: 0.3809 - accuracy: 0.8652
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3816 - accuracy: 0.8650
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3808 - accuracy: 0.8652
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3822 - accuracy: 0.8651
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3813 - accuracy: 0.8657
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3804 - accuracy: 0.8657
## 15/15 [==============================] - 2s 102ms/step - loss: 0.3804 - accuracy: 0.8658 - val_loss: 0.3892 - val_accuracy: 0.8667
## Epoch 15/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3749 - accuracy: 0.8652
##  2/15 [===>..........................] - ETA: 1s - loss: 0.3797 - accuracy: 0.8638
##  3/15 [=====>........................] - ETA: 1s - loss: 0.3772 - accuracy: 0.8661
##  4/15 [=======>......................] - ETA: 1s - loss: 0.3772 - accuracy: 0.8666
##  5/15 [=========>....................] - ETA: 0s - loss: 0.3738 - accuracy: 0.8683
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3710 - accuracy: 0.8691
##  7/15 [=============>................] - ETA: 0s - loss: 0.3731 - accuracy: 0.8689
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3744 - accuracy: 0.8687
##  9/15 [=================>............] - ETA: 0s - loss: 0.3741 - accuracy: 0.8690
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3738 - accuracy: 0.8690
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3747 - accuracy: 0.8685
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3759 - accuracy: 0.8681
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3753 - accuracy: 0.8681
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3746 - accuracy: 0.8687
## 15/15 [==============================] - 2s 108ms/step - loss: 0.3750 - accuracy: 0.8684 - val_loss: 0.3897 - val_accuracy: 0.8649
## Epoch 16/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3954 - accuracy: 0.8631
##  2/15 [===>..........................] - ETA: 0s - loss: 0.3840 - accuracy: 0.8708
##  3/15 [=====>........................] - ETA: 0s - loss: 0.3785 - accuracy: 0.8731
##  4/15 [=======>......................] - ETA: 0s - loss: 0.3759 - accuracy: 0.8726
##  5/15 [=========>....................] - ETA: 0s - loss: 0.3755 - accuracy: 0.8715
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3698 - accuracy: 0.8721
##  7/15 [=============>................] - ETA: 0s - loss: 0.3717 - accuracy: 0.8716
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3733 - accuracy: 0.8712
##  9/15 [=================>............] - ETA: 0s - loss: 0.3734 - accuracy: 0.8710
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3739 - accuracy: 0.8703
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3725 - accuracy: 0.8699
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3717 - accuracy: 0.8700
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3705 - accuracy: 0.8701
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3696 - accuracy: 0.8699
## 15/15 [==============================] - 1s 96ms/step - loss: 0.3695 - accuracy: 0.8701 - val_loss: 0.3771 - val_accuracy: 0.8693
## Epoch 17/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3572 - accuracy: 0.8752
##  2/15 [===>..........................] - ETA: 1s - loss: 0.3610 - accuracy: 0.8764
##  3/15 [=====>........................] - ETA: 0s - loss: 0.3567 - accuracy: 0.8783
##  4/15 [=======>......................] - ETA: 0s - loss: 0.3548 - accuracy: 0.8777
##  5/15 [=========>....................] - ETA: 0s - loss: 0.3533 - accuracy: 0.8779
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3577 - accuracy: 0.8760
##  7/15 [=============>................] - ETA: 0s - loss: 0.3593 - accuracy: 0.8749
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3636 - accuracy: 0.8738
##  9/15 [=================>............] - ETA: 0s - loss: 0.3603 - accuracy: 0.8747
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3592 - accuracy: 0.8750
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3594 - accuracy: 0.8749
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3615 - accuracy: 0.8743
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3616 - accuracy: 0.8741
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3612 - accuracy: 0.8740
## 15/15 [==============================] - 1s 91ms/step - loss: 0.3612 - accuracy: 0.8741 - val_loss: 0.3718 - val_accuracy: 0.8698
## Epoch 18/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3652 - accuracy: 0.8736
##  2/15 [===>..........................] - ETA: 1s - loss: 0.3611 - accuracy: 0.8736
##  3/15 [=====>........................] - ETA: 1s - loss: 0.3616 - accuracy: 0.8751
##  4/15 [=======>......................] - ETA: 1s - loss: 0.3639 - accuracy: 0.8733
##  5/15 [=========>....................] - ETA: 0s - loss: 0.3605 - accuracy: 0.8732
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3610 - accuracy: 0.8726
##  7/15 [=============>................] - ETA: 0s - loss: 0.3591 - accuracy: 0.8743
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3604 - accuracy: 0.8737
##  9/15 [=================>............] - ETA: 0s - loss: 0.3591 - accuracy: 0.8747
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3564 - accuracy: 0.8760
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3586 - accuracy: 0.8749
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3582 - accuracy: 0.8752
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3563 - accuracy: 0.8757
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3552 - accuracy: 0.8760
## 15/15 [==============================] - 2s 105ms/step - loss: 0.3545 - accuracy: 0.8763 - val_loss: 0.3686 - val_accuracy: 0.8718
## Epoch 19/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3605 - accuracy: 0.8769
##  2/15 [===>..........................] - ETA: 1s - loss: 0.3445 - accuracy: 0.8783
##  3/15 [=====>........................] - ETA: 1s - loss: 0.3505 - accuracy: 0.8757
##  4/15 [=======>......................] - ETA: 0s - loss: 0.3528 - accuracy: 0.8765
##  5/15 [=========>....................] - ETA: 0s - loss: 0.3545 - accuracy: 0.8758
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3541 - accuracy: 0.8764
##  7/15 [=============>................] - ETA: 0s - loss: 0.3522 - accuracy: 0.8772
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3500 - accuracy: 0.8778
##  9/15 [=================>............] - ETA: 0s - loss: 0.3510 - accuracy: 0.8768
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3507 - accuracy: 0.8768
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3505 - accuracy: 0.8768
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3512 - accuracy: 0.8764
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3514 - accuracy: 0.8766
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3508 - accuracy: 0.8769
## 15/15 [==============================] - 1s 94ms/step - loss: 0.3506 - accuracy: 0.8767 - val_loss: 0.3673 - val_accuracy: 0.8727
## Epoch 20/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3644 - accuracy: 0.8743
##  2/15 [===>..........................] - ETA: 1s - loss: 0.3607 - accuracy: 0.8727
##  3/15 [=====>........................] - ETA: 0s - loss: 0.3508 - accuracy: 0.8752
##  4/15 [=======>......................] - ETA: 0s - loss: 0.3471 - accuracy: 0.8762
##  5/15 [=========>....................] - ETA: 0s - loss: 0.3464 - accuracy: 0.8771
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3476 - accuracy: 0.8773
##  7/15 [=============>................] - ETA: 0s - loss: 0.3487 - accuracy: 0.8776
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3482 - accuracy: 0.8784
##  9/15 [=================>............] - ETA: 0s - loss: 0.3495 - accuracy: 0.8776
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3486 - accuracy: 0.8778
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3498 - accuracy: 0.8774
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3463 - accuracy: 0.8788
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3470 - accuracy: 0.8786
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3476 - accuracy: 0.8786
## 15/15 [==============================] - 1s 99ms/step - loss: 0.3480 - accuracy: 0.8784 - val_loss: 0.3644 - val_accuracy: 0.8711
## Epoch 21/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3582 - accuracy: 0.8745
##  2/15 [===>..........................] - ETA: 1s - loss: 0.3527 - accuracy: 0.8788
##  3/15 [=====>........................] - ETA: 1s - loss: 0.3419 - accuracy: 0.8828
##  4/15 [=======>......................] - ETA: 0s - loss: 0.3463 - accuracy: 0.8798
##  5/15 [=========>....................] - ETA: 0s - loss: 0.3410 - accuracy: 0.8828
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3422 - accuracy: 0.8821
##  7/15 [=============>................] - ETA: 0s - loss: 0.3390 - accuracy: 0.8828
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3390 - accuracy: 0.8819
##  9/15 [=================>............] - ETA: 0s - loss: 0.3405 - accuracy: 0.8816
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3428 - accuracy: 0.8806
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3427 - accuracy: 0.8806
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3431 - accuracy: 0.8808
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3428 - accuracy: 0.8806
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3428 - accuracy: 0.8800
## 15/15 [==============================] - 1s 93ms/step - loss: 0.3420 - accuracy: 0.8804 - val_loss: 0.3596 - val_accuracy: 0.8718
## Epoch 22/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3495 - accuracy: 0.8731
##  2/15 [===>..........................] - ETA: 1s - loss: 0.3456 - accuracy: 0.8786
##  3/15 [=====>........................] - ETA: 0s - loss: 0.3455 - accuracy: 0.8770
##  4/15 [=======>......................] - ETA: 0s - loss: 0.3509 - accuracy: 0.8754
##  5/15 [=========>....................] - ETA: 0s - loss: 0.3492 - accuracy: 0.8759
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3453 - accuracy: 0.8780
##  7/15 [=============>................] - ETA: 0s - loss: 0.3443 - accuracy: 0.8783
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3435 - accuracy: 0.8795
##  9/15 [=================>............] - ETA: 0s - loss: 0.3419 - accuracy: 0.8800
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3415 - accuracy: 0.8802
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3423 - accuracy: 0.8794
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3405 - accuracy: 0.8806
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3389 - accuracy: 0.8814
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3371 - accuracy: 0.8823
## 15/15 [==============================] - 1s 96ms/step - loss: 0.3368 - accuracy: 0.8823 - val_loss: 0.3509 - val_accuracy: 0.8762
## Epoch 23/30
## 
##  1/15 [=>............................] - ETA: 0s - loss: 0.3515 - accuracy: 0.8743
##  2/15 [===>..........................] - ETA: 1s - loss: 0.3364 - accuracy: 0.8830
##  3/15 [=====>........................] - ETA: 1s - loss: 0.3435 - accuracy: 0.8806
##  4/15 [=======>......................] - ETA: 1s - loss: 0.3415 - accuracy: 0.8818
##  5/15 [=========>....................] - ETA: 0s - loss: 0.3365 - accuracy: 0.8835
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3339 - accuracy: 0.8838
##  7/15 [=============>................] - ETA: 0s - loss: 0.3310 - accuracy: 0.8854
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3302 - accuracy: 0.8851
##  9/15 [=================>............] - ETA: 0s - loss: 0.3285 - accuracy: 0.8856
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3306 - accuracy: 0.8850
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3320 - accuracy: 0.8844
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3318 - accuracy: 0.8850
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3304 - accuracy: 0.8854
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3310 - accuracy: 0.8852
## 15/15 [==============================] - 1s 95ms/step - loss: 0.3311 - accuracy: 0.8851 - val_loss: 0.3596 - val_accuracy: 0.8737
## Epoch 24/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3358 - accuracy: 0.8826
##  2/15 [===>..........................] - ETA: 0s - loss: 0.3237 - accuracy: 0.8868
##  3/15 [=====>........................] - ETA: 0s - loss: 0.3312 - accuracy: 0.8850
##  4/15 [=======>......................] - ETA: 0s - loss: 0.3274 - accuracy: 0.8856
##  5/15 [=========>....................] - ETA: 0s - loss: 0.3247 - accuracy: 0.8865
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3270 - accuracy: 0.8854
##  7/15 [=============>................] - ETA: 0s - loss: 0.3293 - accuracy: 0.8848
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3275 - accuracy: 0.8854
##  9/15 [=================>............] - ETA: 0s - loss: 0.3265 - accuracy: 0.8862
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3263 - accuracy: 0.8859
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3263 - accuracy: 0.8856
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3255 - accuracy: 0.8859
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3262 - accuracy: 0.8855
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3265 - accuracy: 0.8857
## 15/15 [==============================] - 1s 89ms/step - loss: 0.3264 - accuracy: 0.8856 - val_loss: 0.3497 - val_accuracy: 0.8773
## Epoch 25/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3198 - accuracy: 0.8860
##  2/15 [===>..........................] - ETA: 1s - loss: 0.3276 - accuracy: 0.8865
##  3/15 [=====>........................] - ETA: 0s - loss: 0.3231 - accuracy: 0.8883
##  4/15 [=======>......................] - ETA: 0s - loss: 0.3254 - accuracy: 0.8865
##  5/15 [=========>....................] - ETA: 0s - loss: 0.3250 - accuracy: 0.8866
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3241 - accuracy: 0.8871
##  7/15 [=============>................] - ETA: 0s - loss: 0.3250 - accuracy: 0.8869
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3275 - accuracy: 0.8859
##  9/15 [=================>............] - ETA: 0s - loss: 0.3280 - accuracy: 0.8856
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3281 - accuracy: 0.8855
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3283 - accuracy: 0.8852
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3297 - accuracy: 0.8850
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3293 - accuracy: 0.8850
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3285 - accuracy: 0.8853
## 15/15 [==============================] - 1s 92ms/step - loss: 0.3282 - accuracy: 0.8852 - val_loss: 0.3626 - val_accuracy: 0.8738
## Epoch 26/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3249 - accuracy: 0.8890
##  2/15 [===>..........................] - ETA: 1s - loss: 0.3210 - accuracy: 0.8906
##  3/15 [=====>........................] - ETA: 1s - loss: 0.3227 - accuracy: 0.8895
##  4/15 [=======>......................] - ETA: 1s - loss: 0.3235 - accuracy: 0.8881
##  5/15 [=========>....................] - ETA: 1s - loss: 0.3245 - accuracy: 0.8870
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3246 - accuracy: 0.8865
##  7/15 [=============>................] - ETA: 0s - loss: 0.3260 - accuracy: 0.8850
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3255 - accuracy: 0.8856
##  9/15 [=================>............] - ETA: 0s - loss: 0.3244 - accuracy: 0.8859
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3241 - accuracy: 0.8860
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3240 - accuracy: 0.8860
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3246 - accuracy: 0.8861
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3250 - accuracy: 0.8855
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3266 - accuracy: 0.8854
## 15/15 [==============================] - 2s 99ms/step - loss: 0.3257 - accuracy: 0.8858 - val_loss: 0.3491 - val_accuracy: 0.8750
## Epoch 27/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3253 - accuracy: 0.8902
##  2/15 [===>..........................] - ETA: 1s - loss: 0.3232 - accuracy: 0.8893
##  3/15 [=====>........................] - ETA: 1s - loss: 0.3197 - accuracy: 0.8912
##  4/15 [=======>......................] - ETA: 0s - loss: 0.3201 - accuracy: 0.8913
##  5/15 [=========>....................] - ETA: 0s - loss: 0.3172 - accuracy: 0.8919
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3178 - accuracy: 0.8920
##  7/15 [=============>................] - ETA: 0s - loss: 0.3182 - accuracy: 0.8909
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3214 - accuracy: 0.8891
##  9/15 [=================>............] - ETA: 0s - loss: 0.3212 - accuracy: 0.8897
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3209 - accuracy: 0.8894
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3195 - accuracy: 0.8898
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3184 - accuracy: 0.8899
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3178 - accuracy: 0.8901
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3171 - accuracy: 0.8902
## 15/15 [==============================] - 2s 102ms/step - loss: 0.3168 - accuracy: 0.8901 - val_loss: 0.3469 - val_accuracy: 0.8770
## Epoch 28/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3177 - accuracy: 0.8831
##  2/15 [===>..........................] - ETA: 1s - loss: 0.3189 - accuracy: 0.8873
##  3/15 [=====>........................] - ETA: 1s - loss: 0.3194 - accuracy: 0.8852
##  4/15 [=======>......................] - ETA: 1s - loss: 0.3202 - accuracy: 0.8861
##  5/15 [=========>....................] - ETA: 1s - loss: 0.3173 - accuracy: 0.8867
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3168 - accuracy: 0.8877
##  7/15 [=============>................] - ETA: 0s - loss: 0.3140 - accuracy: 0.8882
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3135 - accuracy: 0.8888
##  9/15 [=================>............] - ETA: 0s - loss: 0.3125 - accuracy: 0.8901
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3129 - accuracy: 0.8896
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3116 - accuracy: 0.8906
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3123 - accuracy: 0.8902
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3128 - accuracy: 0.8905
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3122 - accuracy: 0.8907
## 15/15 [==============================] - 2s 111ms/step - loss: 0.3122 - accuracy: 0.8907 - val_loss: 0.3409 - val_accuracy: 0.8754
## Epoch 29/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3194 - accuracy: 0.8864
##  2/15 [===>..........................] - ETA: 1s - loss: 0.3237 - accuracy: 0.8863
##  3/15 [=====>........................] - ETA: 1s - loss: 0.3142 - accuracy: 0.8898
##  4/15 [=======>......................] - ETA: 1s - loss: 0.3187 - accuracy: 0.8871
##  5/15 [=========>....................] - ETA: 0s - loss: 0.3212 - accuracy: 0.8874
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3186 - accuracy: 0.8885
##  7/15 [=============>................] - ETA: 0s - loss: 0.3159 - accuracy: 0.8890
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3127 - accuracy: 0.8894
##  9/15 [=================>............] - ETA: 0s - loss: 0.3131 - accuracy: 0.8896
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3118 - accuracy: 0.8902
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3105 - accuracy: 0.8910
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3106 - accuracy: 0.8909
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3095 - accuracy: 0.8912
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3094 - accuracy: 0.8911
## 15/15 [==============================] - 2s 111ms/step - loss: 0.3089 - accuracy: 0.8912 - val_loss: 0.3376 - val_accuracy: 0.8785
## Epoch 30/30
## 
##  1/15 [=>............................] - ETA: 1s - loss: 0.3119 - accuracy: 0.8902
##  2/15 [===>..........................] - ETA: 1s - loss: 0.3136 - accuracy: 0.8907
##  3/15 [=====>........................] - ETA: 1s - loss: 0.3128 - accuracy: 0.8928
##  4/15 [=======>......................] - ETA: 0s - loss: 0.3146 - accuracy: 0.8917
##  5/15 [=========>....................] - ETA: 0s - loss: 0.3146 - accuracy: 0.8907
##  6/15 [===========>..................] - ETA: 0s - loss: 0.3115 - accuracy: 0.8908
##  7/15 [=============>................] - ETA: 0s - loss: 0.3091 - accuracy: 0.8913
##  8/15 [===============>..............] - ETA: 0s - loss: 0.3088 - accuracy: 0.8913
##  9/15 [=================>............] - ETA: 0s - loss: 0.3097 - accuracy: 0.8908
## 10/15 [===================>..........] - ETA: 0s - loss: 0.3103 - accuracy: 0.8907
## 11/15 [=====================>........] - ETA: 0s - loss: 0.3079 - accuracy: 0.8916
## 12/15 [=======================>......] - ETA: 0s - loss: 0.3068 - accuracy: 0.8919
## 13/15 [=========================>....] - ETA: 0s - loss: 0.3069 - accuracy: 0.8920
## 14/15 [===========================>..] - ETA: 0s - loss: 0.3057 - accuracy: 0.8923
## 15/15 [==============================] - 1s 97ms/step - loss: 0.3054 - accuracy: 0.8925 - val_loss: 0.3334 - val_accuracy: 0.8808
plot(history_tn)

pred_tn <- predict(model_tn, test_x) %>% 
  k_argmax() %>% as.array() %>% as.factor()
## 313/313 - 1s - 940ms/epoch - 3ms/step
confusionMatrix(data=pred_tn, reference = as.factor(fmnist_test$label))
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction   0   1   2   3   4   5   6   7   8   9
##          0 827   2   9  19   1   0 130   0   4   0
##          1   2 977   0  20   0   1   5   0   0   0
##          2  18   2 833  12  92   1 107   0   9   0
##          3  43  16  15 913  34   1  33   0   4   0
##          4   0   0  82  21 821   0  68   0   3   0
##          5   1   1   0   1   0 931   0  19   2   7
##          6 102   1  56  12  48   0 644   0   7   0
##          7   0   0   0   0   0  48   0 943   4  39
##          8   7   1   5   2   4   2  13   1 967   2
##          9   0   0   0   0   0  16   0  37   0 952
## 
## Overall Statistics
##                                                
##                Accuracy : 0.8808               
##                  95% CI : (0.8743, 0.8871)     
##     No Information Rate : 0.1                  
##     P-Value [Acc > NIR] : < 0.00000000000000022
##                                                
##                   Kappa : 0.8676               
##                                                
##  Mcnemar's Test P-Value : NA                   
## 
## Statistics by Class:
## 
##                      Class: 0 Class: 1 Class: 2 Class: 3 Class: 4 Class: 5
## Sensitivity            0.8270   0.9770   0.8330   0.9130   0.8210   0.9310
## Specificity            0.9817   0.9969   0.9732   0.9838   0.9807   0.9966
## Pos Pred Value         0.8337   0.9721   0.7756   0.8621   0.8251   0.9678
## Neg Pred Value         0.9808   0.9974   0.9813   0.9903   0.9801   0.9924
## Prevalence             0.1000   0.1000   0.1000   0.1000   0.1000   0.1000
## Detection Rate         0.0827   0.0977   0.0833   0.0913   0.0821   0.0931
## Detection Prevalence   0.0992   0.1005   0.1074   0.1059   0.0995   0.0962
## Balanced Accuracy      0.9043   0.9869   0.9031   0.9484   0.9008   0.9638
##                      Class: 6 Class: 7 Class: 8 Class: 9
## Sensitivity            0.6440   0.9430   0.9670   0.9520
## Specificity            0.9749   0.9899   0.9959   0.9941
## Pos Pred Value         0.7402   0.9120   0.9631   0.9473
## Neg Pred Value         0.9610   0.9936   0.9963   0.9947
## Prevalence             0.1000   0.1000   0.1000   0.1000
## Detection Rate         0.0644   0.0943   0.0967   0.0952
## Detection Prevalence   0.0870   0.1034   0.1004   0.1005
## Balanced Accuracy      0.8094   0.9664   0.9814   0.9731

Conclusion

Data MNIST merupakan kumpulan data gambar angka tulisan tangan dari 0 hingga 9. Data ini sering digunakan sebagai dataset benchmark dalam machine learning. Manfaat utamanya meliputi:

  1. Benchmarking Model: Digunakan untuk menguji performa model dalam pengenalan digit.

  2. Pendidikan dan Pembelajaran: Cocok untuk pendidikan dan belajar tentang konsep dasar pembelajaran mesin dan pengolahan citra.

  3. Eksperimen Model Neural Network: Memungkinkan eksperimen dengan berbagai arsitektur jaringan saraf untuk pengoptimalan performa.

  4. Validasi Algoritma: Digunakan untuk memvalidasi dan menguji algoritma baru dalam pengolahan citra atau pengenalan pola.

  5. Pengembangan Algoritma Preprocessing: Memfasilitasi pengembangan algoritma preprocessing gambar untuk meningkatkan performa model.

Pada pengerjaan Learn by Building ini tercapai untuk membuat model yang dapat memprediksi pada fmnist_test. Dari 4 model yang dibuat, model_tn yaitu model yang dilakukan tuning/perbaikan yang berhasil menghasilkan Accuracy senilai 88% terhadap data test.