# 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)
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
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
Sebelum membuat model dengan Keras, ada beberapa hal
yang perlu dilakukan untuk mempersiapkan data:
KerasMengecheck 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)
Langkah selanjutnya adalah membangun arsitektur Neural Network. Beberapa ketentuan ketika membuat arsitektur Neural Network:
keras_model_sequential()input_shape pada layer pertamaPertama, 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 :
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").
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.
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")
Langkah berikutnya adalah compiling, yaitu menentukan error function, optimizer, dan metrics yang akan ditunjukkan selama training.
Error/Loss Function sesuai jenis kasus:
Optimizer atau cara model mengupdate bobot dan belajar:
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")
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)
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
Kita bisa mengimprove model sesuai hyper-parameter yang sudah kita pelajari kemarin:
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
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:
Benchmarking Model: Digunakan untuk menguji performa model dalam pengenalan digit.
Pendidikan dan Pembelajaran: Cocok untuk pendidikan dan belajar tentang konsep dasar pembelajaran mesin dan pengolahan citra.
Eksperimen Model Neural Network: Memungkinkan eksperimen dengan berbagai arsitektur jaringan saraf untuk pengoptimalan performa.
Validasi Algoritma: Digunakan untuk memvalidasi dan menguji algoritma baru dalam pengolahan citra atau pengenalan pola.
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.