Data 622 Final Assignment

Nikoleta Emanouilidi

2025-05-08

library(ggplot2)
library(dplyr)
library(janitor)
library(tidyr)
library(corrplot)
library(GGally)
library(readr)
library(ROSE)
library(caret)
library(randomForest)
library(knitr)
library(pROC)
library(reticulate)
use_virtualenv("tf_now", required = TRUE)
library(keras)
library(tensorflow)
library(caret)
library(DMwR)
library(kableExtra)
library(tibble)
library(rmdformats)
library(prettydoc)
library(hrbrthemes)
library(tint)
library(tufte)
# Load the dataset from the URL
url <- "https://raw.githubusercontent.com/NikoletaEm/datasps/refs/heads/main/heart_attack_prediction_dataset.csv"
data <- read.csv(url)

# View the first few rows of the dataset
head(data)
##   Patient.ID Age    Sex Cholesterol Blood.Pressure Heart.Rate Diabetes
## 1    BMW7812  67   Male         208         158/88         72        0
## 2    CZE1114  21   Male         389         165/93         98        1
## 3    BNI9906  21 Female         324         174/99         72        1
## 4    JLN3497  84   Male         383        163/100         73        1
## 5    GFO8847  66   Male         318          91/88         93        1
## 6    ZOO7941  54 Female         297         172/86         48        1
##   Family.History Smoking Obesity Alcohol.Consumption Exercise.Hours.Per.Week
## 1              0       1       0                   0                4.168189
## 2              1       1       1                   1                1.813242
## 3              0       0       0                   0                2.078353
## 4              1       1       0                   1                9.828130
## 5              1       1       1                   0                5.804299
## 6              1       1       0                   1                0.625008
##        Diet Previous.Heart.Problems Medication.Use Stress.Level
## 1   Average                       0              0            9
## 2 Unhealthy                       1              0            1
## 3   Healthy                       1              1            9
## 4   Average                       1              0            9
## 5 Unhealthy                       1              0            6
## 6 Unhealthy                       1              1            2
##   Sedentary.Hours.Per.Day Income      BMI Triglycerides
## 1                6.615001 261404 31.25123           286
## 2                4.963459 285768 27.19497           235
## 3                9.463426 235282 28.17657           587
## 4                7.648981 125640 36.46470           378
## 5                1.514821 160555 21.80914           231
## 6                7.798752 241339 20.14684           795
##   Physical.Activity.Days.Per.Week Sleep.Hours.Per.Day   Country     Continent
## 1                               0                   6 Argentina South America
## 2                               1                   7    Canada North America
## 3                               4                   4    France        Europe
## 4                               3                   4    Canada North America
## 5                               1                   5  Thailand          Asia
## 6                               5                  10   Germany        Europe
##            Hemisphere Heart.Attack.Risk
## 1 Southern Hemisphere                 0
## 2 Northern Hemisphere                 0
## 3 Northern Hemisphere                 0
## 4 Northern Hemisphere                 0
## 5 Northern Hemisphere                 0
## 6 Northern Hemisphere                 1
summary(data)
##   Patient.ID             Age            Sex             Cholesterol   
##  Length:8763        Min.   :18.00   Length:8763        Min.   :120.0  
##  Class :character   1st Qu.:35.00   Class :character   1st Qu.:192.0  
##  Mode  :character   Median :54.00   Mode  :character   Median :259.0  
##                     Mean   :53.71                      Mean   :259.9  
##                     3rd Qu.:72.00                      3rd Qu.:330.0  
##                     Max.   :90.00                      Max.   :400.0  
##  Blood.Pressure       Heart.Rate        Diabetes      Family.History 
##  Length:8763        Min.   : 40.00   Min.   :0.0000   Min.   :0.000  
##  Class :character   1st Qu.: 57.00   1st Qu.:0.0000   1st Qu.:0.000  
##  Mode  :character   Median : 75.00   Median :1.0000   Median :0.000  
##                     Mean   : 75.02   Mean   :0.6523   Mean   :0.493  
##                     3rd Qu.: 93.00   3rd Qu.:1.0000   3rd Qu.:1.000  
##                     Max.   :110.00   Max.   :1.0000   Max.   :1.000  
##     Smoking          Obesity       Alcohol.Consumption Exercise.Hours.Per.Week
##  Min.   :0.0000   Min.   :0.0000   Min.   :0.0000      Min.   : 0.002442      
##  1st Qu.:1.0000   1st Qu.:0.0000   1st Qu.:0.0000      1st Qu.: 4.981579      
##  Median :1.0000   Median :1.0000   Median :1.0000      Median :10.069559      
##  Mean   :0.8968   Mean   :0.5014   Mean   :0.5981      Mean   :10.014284      
##  3rd Qu.:1.0000   3rd Qu.:1.0000   3rd Qu.:1.0000      3rd Qu.:15.050018      
##  Max.   :1.0000   Max.   :1.0000   Max.   :1.0000      Max.   :19.998709      
##      Diet           Previous.Heart.Problems Medication.Use    Stress.Level  
##  Length:8763        Min.   :0.0000          Min.   :0.0000   Min.   : 1.00  
##  Class :character   1st Qu.:0.0000          1st Qu.:0.0000   1st Qu.: 3.00  
##  Mode  :character   Median :0.0000          Median :0.0000   Median : 5.00  
##                     Mean   :0.4958          Mean   :0.4983   Mean   : 5.47  
##                     3rd Qu.:1.0000          3rd Qu.:1.0000   3rd Qu.: 8.00  
##                     Max.   :1.0000          Max.   :1.0000   Max.   :10.00  
##  Sedentary.Hours.Per.Day     Income            BMI        Triglycerides  
##  Min.   : 0.001263       Min.   : 20062   Min.   :18.00   Min.   : 30.0  
##  1st Qu.: 2.998794       1st Qu.: 88310   1st Qu.:23.42   1st Qu.:225.5  
##  Median : 5.933622       Median :157866   Median :28.77   Median :417.0  
##  Mean   : 5.993690       Mean   :158263   Mean   :28.89   Mean   :417.7  
##  3rd Qu.: 9.019124       3rd Qu.:227749   3rd Qu.:34.32   3rd Qu.:612.0  
##  Max.   :11.999313       Max.   :299954   Max.   :40.00   Max.   :800.0  
##  Physical.Activity.Days.Per.Week Sleep.Hours.Per.Day   Country         
##  Min.   :0.00                    Min.   : 4.000      Length:8763       
##  1st Qu.:2.00                    1st Qu.: 5.000      Class :character  
##  Median :3.00                    Median : 7.000      Mode  :character  
##  Mean   :3.49                    Mean   : 7.024                        
##  3rd Qu.:5.00                    3rd Qu.: 9.000                        
##  Max.   :7.00                    Max.   :10.000                        
##   Continent          Hemisphere        Heart.Attack.Risk
##  Length:8763        Length:8763        Min.   :0.0000   
##  Class :character   Class :character   1st Qu.:0.0000   
##  Mode  :character   Mode  :character   Median :0.0000   
##                                        Mean   :0.3582   
##                                        3rd Qu.:1.0000   
##                                        Max.   :1.0000
# Clean the column names
data <- clean_names(data)

# Remove variables
data <- select(data, -patient_id)
data <- select(data, -income)
data <- select(data, -country)
data <- select(data, -hemisphere)

# View the cleaned names
names(data)
##  [1] "age"                             "sex"                            
##  [3] "cholesterol"                     "blood_pressure"                 
##  [5] "heart_rate"                      "diabetes"                       
##  [7] "family_history"                  "smoking"                        
##  [9] "obesity"                         "alcohol_consumption"            
## [11] "exercise_hours_per_week"         "diet"                           
## [13] "previous_heart_problems"         "medication_use"                 
## [15] "stress_level"                    "sedentary_hours_per_day"        
## [17] "bmi"                             "triglycerides"                  
## [19] "physical_activity_days_per_week" "sleep_hours_per_day"            
## [21] "continent"                       "heart_attack_risk"
data <- data %>%
  mutate(across(where(~ all(na.omit(.) %in% c(0, 1))), ~ factor(., labels = c("no", "yes"))))

str(data)
## 'data.frame':    8763 obs. of  22 variables:
##  $ age                            : int  67 21 21 84 66 54 90 84 20 43 ...
##  $ sex                            : chr  "Male" "Male" "Female" "Male" ...
##  $ cholesterol                    : int  208 389 324 383 318 297 358 220 145 248 ...
##  $ blood_pressure                 : chr  "158/88" "165/93" "174/99" "163/100" ...
##  $ heart_rate                     : int  72 98 72 73 93 48 84 107 68 55 ...
##  $ diabetes                       : Factor w/ 2 levels "no","yes": 1 2 2 2 2 2 1 1 2 1 ...
##  $ family_history                 : Factor w/ 2 levels "no","yes": 1 2 1 2 2 2 1 1 1 2 ...
##  $ smoking                        : Factor w/ 2 levels "no","yes": 2 2 1 2 2 2 2 2 2 2 ...
##  $ obesity                        : Factor w/ 2 levels "no","yes": 1 2 1 1 2 1 1 2 2 2 ...
##  $ alcohol_consumption            : Factor w/ 2 levels "no","yes": 1 2 1 2 1 2 2 2 1 2 ...
##  $ exercise_hours_per_week        : num  4.17 1.81 2.08 9.83 5.8 ...
##  $ diet                           : chr  "Average" "Unhealthy" "Healthy" "Average" ...
##  $ previous_heart_problems        : Factor w/ 2 levels "no","yes": 1 2 2 2 2 2 1 1 1 1 ...
##  $ medication_use                 : Factor w/ 2 levels "no","yes": 1 1 2 1 1 2 1 2 1 1 ...
##  $ stress_level                   : int  9 1 9 9 6 2 7 4 5 4 ...
##  $ sedentary_hours_per_day        : num  6.62 4.96 9.46 7.65 1.51 ...
##  $ bmi                            : num  31.3 27.2 28.2 36.5 21.8 ...
##  $ triglycerides                  : int  286 235 587 378 231 795 284 370 790 232 ...
##  $ physical_activity_days_per_week: int  0 1 4 3 1 5 4 6 7 7 ...
##  $ sleep_hours_per_day            : int  6 7 4 4 5 10 10 7 4 7 ...
##  $ continent                      : chr  "South America" "North America" "Europe" "North America" ...
##  $ heart_attack_risk              : Factor w/ 2 levels "no","yes": 1 1 1 1 1 2 2 2 1 1 ...
# Data Tidying
data <- data %>%
  mutate(
    stress_level = case_when(
      stress_level %in% 1:3 ~ "low",
      stress_level %in% 4:7 ~ "moderate",
      stress_level %in% 8:10 ~ "high",
      TRUE ~ NA_character_
    ),
    stress_level = factor(stress_level, levels = c("low", "moderate", "high"))
  )
table(data$stress_level, useNA = "ifany")
## 
##      low moderate     high 
##     2646     3528     2589
data <- data %>%
  separate(blood_pressure, into = c("systolic", "diastolic"), sep = "/", convert = TRUE)


# Classify into 4 blood pressure categories
data <- data %>%
  mutate(
    bp_category = case_when(
      systolic >= 180 | diastolic >= 120 ~ "Hypertensive Crisis",
      systolic >= 130 | diastolic >= 80 ~ "Hypertension",
      systolic >= 120 & systolic < 130 & diastolic < 80 ~ "Elevated",
      systolic < 120 & diastolic < 80 ~ "Normal",
      TRUE ~ NA_character_
    ),
    bp_category = factor(bp_category, levels = c("Normal", "Elevated", "Hypertension", "Hypertensive Crisis"))
  )

data <- data %>%
  mutate(
    triglyceride_category = case_when(
      triglycerides < 150 ~ "Normal",
      triglycerides >= 150 & triglycerides <= 499 ~ "High",
      triglycerides >= 500 ~ "Very High",
      TRUE ~ NA_character_
    ),
    triglyceride_category = factor(
      triglyceride_category,
      levels = c("Normal", "High", "Very High")
    )
  )
table(data$bp_category, useNA = "ifany")
## 
##              Normal            Elevated        Hypertension Hypertensive Crisis 
##                1163                 353                7149                  98
table(data$triglyceride_category, useNA = "ifany")
## 
##    Normal      High Very High 
##      1358      3970      3435
data <- select(data, -triglycerides)


data <- data %>%
  mutate(
    bmi = case_when(
      bmi < 18.5 ~ "Underweight",
      bmi >= 18.5 & bmi < 25 ~ "Normal",
      bmi >= 25 & bmi < 30  ~ "Overweight",
      bmi >= 30  ~ "Obese",
      TRUE ~ NA_character_
    ),
    bmi = factor(
      bmi,
      levels = c("Underweight", "Normal", "Overweight","Obese")
    )
  )
data <- select(data, -obesity)
table(data$bmi, useNA = "ifany")
## 
## Underweight      Normal  Overweight       Obese 
##         204        2619        2059        3881
data <- data %>%
  mutate(
    cholesterol = case_when(
      cholesterol < 200 ~ "Normal",
      cholesterol >= 200 & cholesterol < 240 ~ "Borderline High",
      cholesterol >= 240 ~ "High",
      TRUE ~ NA_character_
    ),
    cholesterol = factor(
      cholesterol,
      levels = c("Normal", "Borderline High", "High")
    )
  )

table(data$cholesterol, useNA = "ifany")
## 
##          Normal Borderline High            High 
##            2452            1257            5054
# Generating New Variables
data <- data %>%
  mutate(
    high_risk_cardiometabolic = ifelse(
      bp_category %in% c("Hypertension", "Hypertensive Crisis") &
        bmi %in% c("Overweight", "Obese") &
        cholesterol == "High",
      1, 0
    )
  )


data <- data %>%
  mutate(
    stress_bp_combo = ifelse(
      stress_level == "high" & bp_category %in% c("Hypertension", "Hypertensive Crisis"),
      1, 0
    )
  )
data <- data %>%
  mutate(across(where(~ is.integer(.) && !is.factor(.) && !is.character(.)), as.numeric))


numeric_vars <- data %>% select(where(is.numeric))

# Histograms
par(mfrow = c(2, 2))
for (var in names(numeric_vars)[1:8]) {
  hist(numeric_vars[[var]], main = paste("Histogram of", var), xlab = var, col = "skyblue", border = "white")
}

# Boxplots
par(mfrow = c(2, 2))
for (var in names(numeric_vars)[1:8]) {
  boxplot(numeric_vars[[var]], main = paste("Boxplot of", var), col = "orange")
}

target_var <- "heart_attack_risk"
plot_vars <- c("sex","family_history" ,"diabetes","smoking","alcohol_consumption", "bmi", "cholesterol", "stress_level", "bp_category", "triglyceride_category")
# Define color palettes
colors_2 <- c("lightblue", "salmon")
colors_3 <- c("lightblue", "salmon", "palegreen")
colors_4 <- c("lightblue", "salmon", "palegreen", "plum")

# Generate stacked bar plots with actual counts
for (var in plot_vars) {
  levels_count <- n_distinct(data[[var]])
  fill_colors <- switch(as.character(levels_count),
                        "2" = colors_2,
                        "3" = colors_3,
                        "4" = colors_4,
                        colors_4)  # fallback
  
  p <- ggplot(data, aes_string(x = target_var, fill = var)) +
    geom_bar(position = "stack") +  # Actual counts
    scale_fill_manual(values = fill_colors) +
    labs(
      title = paste("Count of", var, "within heart attack risk groups"),
      x = "Heart Attack Risk",
      y = "Count",
      fill = var
    ) +
    theme_minimal() +
    theme(plot.title = element_text(hjust = 0.5, size = 14))
  
  print(p)
}
## Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
## ℹ Please use tidy evaluation idioms with `aes()`.
## ℹ See also `vignette("ggplot2-in-packages")` for more information.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

# Only numeric + target
ggpairs(data,
        columns = which(sapply(data, is.numeric))[1:5],  # adjust number of vars
        aes(color = heart_attack_risk, alpha = 0.4))

# Correlation matrix
cor_matrix <- cor(numeric_vars, use = "complete.obs")

corrplot(cor_matrix,
         method = "color",
         type = "lower",            
         order = "hclust",          
         tl.col = "black",          
         tl.srt = 45,               
         tl.cex = 0.5,              
         addCoef.col = "black",     
         number.cex = 0.5,
         diag = FALSE)

colSums(is.na(data))
##                             age                             sex 
##                               0                               0 
##                     cholesterol                        systolic 
##                               0                               0 
##                       diastolic                      heart_rate 
##                               0                               0 
##                        diabetes                  family_history 
##                               0                               0 
##                         smoking             alcohol_consumption 
##                               0                               0 
##         exercise_hours_per_week                            diet 
##                               0                               0 
##         previous_heart_problems                  medication_use 
##                               0                               0 
##                    stress_level         sedentary_hours_per_day 
##                               0                               0 
##                             bmi physical_activity_days_per_week 
##                               0                               0 
##             sleep_hours_per_day                       continent 
##                               0                               0 
##               heart_attack_risk                     bp_category 
##                               0                               0 
##           triglyceride_category       high_risk_cardiometabolic 
##                               0                               0 
##                 stress_bp_combo 
##                               0
# Exercise Hours vs Heart Attack Risk
ggplot(data, aes(x = exercise_hours_per_week, fill = heart_attack_risk)) +
  geom_histogram(position = "identity", alpha = 0.5, bins = 30) +
  theme_minimal() +
  labs(title = "Exercise Hours vs Heart Attack Risk")

# Heart Attack Risk by Continent
ggplot(data, aes(x = continent, fill = heart_attack_risk)) +
  geom_bar(position = "fill") +
  labs(title = "Heart Attack Risk by Continent", y = "Proportion") +
  theme_minimal()

# North America-slightly more heart attack risk
# Check class balance 
table(data$heart_attack_risk)
## 
##   no  yes 
## 5624 3139
# Handling Class Imbalance
data <- data %>%
  mutate(across(where(is.character), as.factor))

data$heart_attack_risk <- as.factor(data$heart_attack_risk)

# Apply ROSE sampling
rose_data <- ROSE(heart_attack_risk ~ ., data = data, seed = 105)$data

# Check class balance again
table(rose_data$heart_attack_risk)
## 
##   no  yes 
## 4366 4397
set.seed(105)  # for reproducibility


train_index <- createDataPartition(rose_data$heart_attack_risk, p = 0.8, list = FALSE)

train_data <- rose_data[train_index, ]
test_data <- rose_data[-train_index, ]

colnames(train_data)
##  [1] "age"                             "sex"                            
##  [3] "cholesterol"                     "systolic"                       
##  [5] "diastolic"                       "heart_rate"                     
##  [7] "diabetes"                        "family_history"                 
##  [9] "smoking"                         "alcohol_consumption"            
## [11] "exercise_hours_per_week"         "diet"                           
## [13] "previous_heart_problems"         "medication_use"                 
## [15] "stress_level"                    "sedentary_hours_per_day"        
## [17] "bmi"                             "physical_activity_days_per_week"
## [19] "sleep_hours_per_day"             "continent"                      
## [21] "heart_attack_risk"               "bp_category"                    
## [23] "triglyceride_category"           "high_risk_cardiometabolic"      
## [25] "stress_bp_combo"

Random Forest

metrics_rfs <- data.frame(
  Model = character(),
  Accuracy = numeric(),
  Precision = numeric(),
  Recall = numeric(),
  F1 = numeric(),
  stringsAsFactors = FALSE
)

Random Forest 1

# Random Forest Base Model
set.seed(105)

rf_model <- randomForest(
  heart_attack_risk ~ ., 
  data = train_data, 
  ntree = 500,         # number of trees
  mtry = floor(sqrt(ncol(train_data) - 1)),  
  importance = TRUE
)

rf_preds <- predict(rf_model, newdata = test_data)

conf_matrix_rf <- confusionMatrix(rf_preds, test_data$heart_attack_risk)
accuracy_rf <- conf_matrix_rf$overall['Accuracy']
precision_rf <- conf_matrix_rf$byClass['Pos Pred Value']
recall_rf <- conf_matrix_rf$byClass['Sensitivity']
f1_rf <- conf_matrix_rf$byClass['F1']

print(conf_matrix_rf)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  no yes
##        no  568 293
##        yes 305 586
##                                           
##                Accuracy : 0.6587          
##                  95% CI : (0.6359, 0.6809)
##     No Information Rate : 0.5017          
##     P-Value [Acc > NIR] : <2e-16          
##                                           
##                   Kappa : 0.3173          
##                                           
##  Mcnemar's Test P-Value : 0.6528          
##                                           
##             Sensitivity : 0.6506          
##             Specificity : 0.6667          
##          Pos Pred Value : 0.6597          
##          Neg Pred Value : 0.6577          
##              Prevalence : 0.4983          
##          Detection Rate : 0.3242          
##    Detection Prevalence : 0.4914          
##       Balanced Accuracy : 0.6586          
##                                           
##        'Positive' Class : no              
## 
metrics_rfs <- rbind(metrics_rfs, data.frame(
  Model = "RF Base Model",
  Accuracy = as.numeric(accuracy_rf),
  Precision = as.numeric(precision_rf),
  Recall = as.numeric(recall_rf),
  F1 = as.numeric(f1_rf)
))

Random Forest 2

# Random Forest mtry=2
set.seed(105)

# mtry = 2
rf_mtry2 <- randomForest(
  heart_attack_risk ~ ., 
  data = train_data, 
  ntree = 500,
  mtry = 2,
  importance = TRUE
)
preds2 <- predict(rf_mtry2, newdata = test_data)
cat("\n--- Confusion Matrix for mtry = 2 ---\n")
## 
## --- Confusion Matrix for mtry = 2 ---
conf_matrix_rf_mtry2 <- confusionMatrix(preds2, test_data$heart_attack_risk)
print(conf_matrix_rf_mtry2)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  no yes
##        no  589 254
##        yes 284 625
##                                           
##                Accuracy : 0.6929          
##                  95% CI : (0.6707, 0.7145)
##     No Information Rate : 0.5017          
##     P-Value [Acc > NIR] : <2e-16          
##                                           
##                   Kappa : 0.3858          
##                                           
##  Mcnemar's Test P-Value : 0.2112          
##                                           
##             Sensitivity : 0.6747          
##             Specificity : 0.7110          
##          Pos Pred Value : 0.6987          
##          Neg Pred Value : 0.6876          
##              Prevalence : 0.4983          
##          Detection Rate : 0.3362          
##    Detection Prevalence : 0.4812          
##       Balanced Accuracy : 0.6929          
##                                           
##        'Positive' Class : no              
## 
accuracy_rf_mtry2 <- conf_matrix_rf_mtry2$overall['Accuracy']
precision_rf_mtry2 <- conf_matrix_rf_mtry2$byClass['Pos Pred Value']
recall_rf_mtry2 <- conf_matrix_rf_mtry2$byClass['Sensitivity']
f1_rf_mtry2 <- conf_matrix_rf_mtry2$byClass['F1']

metrics_rfs <- rbind(metrics_rfs, data.frame(
  Model = "RF mtry=2",
  Accuracy = as.numeric(accuracy_rf_mtry2),
  Precision = as.numeric(precision_rf_mtry2),
  Recall = as.numeric(recall_rf_mtry2),
  F1 = as.numeric(f1_rf_mtry2)
))

Random Forest 3

# Random Forest mtry = 4
rf_mtry4 <- randomForest(
  heart_attack_risk ~ ., 
  data = train_data, 
  ntree = 500,
  mtry = 4,
  importance = TRUE
)
preds4 <- predict(rf_mtry4, newdata = test_data)
cat("\n--- Confusion Matrix for mtry = 4 ---\n")
## 
## --- Confusion Matrix for mtry = 4 ---
conf_matrix_rf_mtry4 <- confusionMatrix(preds4, test_data$heart_attack_risk)
print(conf_matrix_rf_mtry4)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  no yes
##        no  557 300
##        yes 316 579
##                                           
##                Accuracy : 0.6484          
##                  95% CI : (0.6255, 0.6708)
##     No Information Rate : 0.5017          
##     P-Value [Acc > NIR] : <2e-16          
##                                           
##                   Kappa : 0.2968          
##                                           
##  Mcnemar's Test P-Value : 0.5456          
##                                           
##             Sensitivity : 0.6380          
##             Specificity : 0.6587          
##          Pos Pred Value : 0.6499          
##          Neg Pred Value : 0.6469          
##              Prevalence : 0.4983          
##          Detection Rate : 0.3179          
##    Detection Prevalence : 0.4892          
##       Balanced Accuracy : 0.6484          
##                                           
##        'Positive' Class : no              
## 
accuracy_rf_mtry4 <- conf_matrix_rf_mtry4$overall['Accuracy']
precision_rf_mtry4 <- conf_matrix_rf_mtry4$byClass['Pos Pred Value']
recall_rf_mtry4 <- conf_matrix_rf_mtry4$byClass['Sensitivity']
f1_rf_mtry4 <- conf_matrix_rf_mtry4$byClass['F1']

metrics_rfs <- rbind(metrics_rfs, data.frame(
  Model = "RF mtry=4",
  Accuracy = as.numeric(accuracy_rf_mtry4),
  Precision = as.numeric(precision_rf_mtry4),
  Recall = as.numeric(recall_rf_mtry4),
  F1 = as.numeric(f1_rf_mtry4)
))

Random Forest 4

# Random forest ntree = 1000
set.seed(105)

# Random forest ntree = 1000
rf_mtry2_ntree1000 <- randomForest(
  heart_attack_risk ~ ., 
  data = train_data,
  ntree = 1000,
  mtry = 2,
  importance = TRUE
)
preds_1000 <- predict(rf_mtry2_ntree1000, newdata = test_data)
cat("\n--- Confusion Matrix for mtry = 2, ntree = 1000 ---\n")
## 
## --- Confusion Matrix for mtry = 2, ntree = 1000 ---
conf_matrix_rf_mtry2_ntree1000 <- confusionMatrix(preds_1000, test_data$heart_attack_risk, positive = "no")
print(conf_matrix_rf_mtry2_ntree1000 )
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  no yes
##        no  601 252
##        yes 272 627
##                                           
##                Accuracy : 0.7009          
##                  95% CI : (0.6789, 0.7223)
##     No Information Rate : 0.5017          
##     P-Value [Acc > NIR] : <2e-16          
##                                           
##                   Kappa : 0.4018          
##                                           
##  Mcnemar's Test P-Value : 0.4065          
##                                           
##             Sensitivity : 0.6884          
##             Specificity : 0.7133          
##          Pos Pred Value : 0.7046          
##          Neg Pred Value : 0.6974          
##              Prevalence : 0.4983          
##          Detection Rate : 0.3430          
##    Detection Prevalence : 0.4869          
##       Balanced Accuracy : 0.7009          
##                                           
##        'Positive' Class : no              
## 
accuracy_rf_mtry2_ntree1000 <- conf_matrix_rf_mtry2_ntree1000$overall['Accuracy']
precision_rf_mtry2_ntree1000 <- conf_matrix_rf_mtry2_ntree1000$byClass['Pos Pred Value']
recall_rf_mtry2_ntree1000 <- conf_matrix_rf_mtry2_ntree1000$byClass['Sensitivity']
f1_rf_mtry2_ntree1000 <- conf_matrix_rf_mtry2_ntree1000$byClass['F1']

metrics_rfs<- rbind(metrics_rfs, data.frame(
  Model = "Random Forest mtry=2 & ntree=1000",
  Accuracy = as.numeric(accuracy_rf_mtry2_ntree1000),
  Precision = as.numeric(precision_rf_mtry2_ntree1000),
  Recall = as.numeric(recall_rf_mtry2_ntree1000),
  F1 = as.numeric(f1_rf_mtry2_ntree1000)
))
# Metrics Table
kable(metrics_rfs, caption = "Random Forest Model Performance Metrics", digits = 3)
Random Forest Model Performance Metrics
Model Accuracy Precision Recall F1
RF Base Model 0.659 0.660 0.651 0.655
RF mtry=2 0.693 0.699 0.675 0.686
RF mtry=4 0.648 0.650 0.638 0.644
Random Forest mtry=2 & ntree=1000 0.701 0.705 0.688 0.696
# Compute ROC curves we  must use probabilities for class "no" 
rf_probs <- predict(rf_model, newdata = test_data, type = "prob")[, "no"]
roc_rf <- roc(test_data$heart_attack_risk, rf_probs)
## Setting levels: control = no, case = yes
## Setting direction: controls > cases
rf2_probs <- predict(rf_mtry2, newdata = test_data, type = "prob")[, "no"]
roc_rf2 <- roc(test_data$heart_attack_risk, rf2_probs)
## Setting levels: control = no, case = yes
## Setting direction: controls > cases
rf4_probs <- predict(rf_mtry4, newdata = test_data, type = "prob")[, "no"]
roc_rf4 <- roc(test_data$heart_attack_risk, rf4_probs)
## Setting levels: control = no, case = yes
## Setting direction: controls > cases
rf1000_probs <- predict(rf_mtry2_ntree1000, newdata = test_data, type = "prob")[, "no"]
roc_rf1000 <- roc(test_data$heart_attack_risk, rf1000_probs)
## Setting levels: control = no, case = yes
## Setting direction: controls > cases
roc_df <- rbind(
  data.frame(Model = "Base Model", 
             TPR = rev(roc_rf$sensitivities), 
             FPR = rev(1 - roc_rf$specificities)),
  data.frame(Model = "mtry=2", 
             TPR = rev(roc_rf2$sensitivities), 
             FPR = rev(1 - roc_rf2$specificities)),
  data.frame(Model = "mtry=4", 
             TPR = rev(roc_rf4$sensitivities), 
             FPR = rev(1 - roc_rf4$specificities)),
  data.frame(Model = "mtry=2, ntree=1000", 
             TPR = rev(roc_rf1000$sensitivities), 
             FPR = rev(1 - roc_rf1000$specificities))
)


ggplot(roc_df, aes(x = FPR, y = TPR, color = Model)) +
  geom_line(size = 1) +
  geom_abline(linetype = "dashed", color = "gray") +
  labs(title = "ROC Curves for Random Forest Models",
       x = "False Positive Rate",
       y = "True Positive Rate") +
  theme_minimal() +
  theme(legend.title = element_blank())
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Neural Networks

metrics_nns <- data.frame(
  Model = character(),
  Accuracy = numeric(),
  Precision = numeric(),
  Recall = numeric(),
  F1 = numeric(),
  stringsAsFactors = FALSE
)

NN:Model 1

# Title: Baseline Model - No Preprocessing
# Features are raw, not scaled or balanced, simple model architecture
set.seed(105)

train_y <- ifelse(train_data$heart_attack_risk == "yes", 1, 0)
test_y  <- ifelse(test_data$heart_attack_risk == "yes", 1, 0)

# Features (no preprocessing!)
train_x <- train_data %>%
  select(-heart_attack_risk) %>%
  mutate(across(everything(), as.numeric)) %>%
  as.matrix()

test_x <- test_data %>%
  select(-heart_attack_risk) %>%
  mutate(across(everything(), as.numeric)) %>%
  as.matrix()

# Focal loss function
focal_loss <- function(gamma = 1.5, alpha = 0.75) {  # Adjusted gamma, alpha
  function(y_true, y_pred) {
    epsilon <- k_epsilon()
    y_pred <- k_clip(y_pred, epsilon, 1 - epsilon)
    pt_1 <- tf$where(k_equal(y_true, 1), y_pred, k_ones_like(y_pred))
    pt_0 <- tf$where(k_equal(y_true, 0), y_pred, k_zeros_like(y_pred))
    -alpha * k_pow(1 - pt_1, gamma) * k_log(pt_1) -
      (1 - alpha) * k_pow(pt_0, gamma) * k_log(1 - pt_0)
  }
}

# Model architecture 
model1 <- keras_model_sequential() %>%
  layer_dense(units = 64, activation = "relu", input_shape = ncol(train_x)) %>%
  layer_dropout(0.3) %>%
  layer_dense(units = 32, activation = "relu") %>%
  layer_dense(units = 1, activation = "sigmoid")
## Traceback (most recent call last):
##   File "C:\Users\nicol\OneDrive\53DB~1\VIRTUA~1\tf_now\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 24, in <module>
##     import ssl
##   File "C:\Users\nicol\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\loader.py", line 122, in _find_and_load_hook
##     return _run_hook(name, _hook)
##   File "C:\Users\nicol\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\loader.py", line 96, in _run_hook
##     module = hook()
##   File "C:\Users\nicol\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\loader.py", line 120, in _hook
##     return _find_and_load(name, import_)
##   File "C:\Users\nicol\ANACON~1\lib\ssl.py", line 99, in <module>
##     import _ssl             # if we can't import it, let the error propagate
##   File "C:\Users\nicol\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\loader.py", line 122, in _find_and_load_hook
##     return _run_hook(name, _hook)
##   File "C:\Users\nicol\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\loader.py", line 96, in _run_hook
##     module = hook()
##   File "C:\Users\nicol\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\loader.py", line 120, in _hook
##     return _find_and_load(name, import_)
## ImportError: DLL load failed while importing _ssl: The specified module could not be found.
## 
## 
## Warning: Failed to load ssl module. Continuing without ssl support.
# Compile
model1 %>% compile(
  loss = focal_loss(gamma = 1.5, alpha = 0.75),  # Adjusted loss function parameters
  optimizer = optimizer_adam(learning_rate = 0.0002),  
  metrics = list("accuracy", metric_auc(name = "auc"))
)

# Train the model
history <- model1 %>% fit(
  train_x, train_y,
  epochs = 100,  
  batch_size = 32,
  validation_split = 0.2,
  verbose = 1
)
## Epoch 1/100
## 
##   1/176 [..............................] - ETA: 3:53 - loss: 2.2886 - accuracy: 0.3438 - auc: 0.3417
##  21/176 [==>...........................] - ETA: 0s - loss: 1.9782 - accuracy: 0.4226 - auc: 0.4841  
##  42/176 [======>.......................] - ETA: 0s - loss: 1.9720 - accuracy: 0.4405 - auc: 0.4907
##  63/176 [=========>....................] - ETA: 0s - loss: 1.9158 - accuracy: 0.4464 - auc: 0.4940
##  82/176 [============>.................] - ETA: 0s - loss: 1.8677 - accuracy: 0.4421 - auc: 0.4944
## 106/176 [=================>............] - ETA: 0s - loss: 1.8408 - accuracy: 0.4449 - auc: 0.4943
## 128/176 [====================>.........] - ETA: 0s - loss: 1.8095 - accuracy: 0.4419 - auc: 0.4951
## 151/176 [========================>.....] - ETA: 0s - loss: 1.7760 - accuracy: 0.4468 - auc: 0.4985
## 174/176 [============================>.] - ETA: 0s - loss: 1.7300 - accuracy: 0.4485 - auc: 0.5013
## 176/176 [==============================] - 2s 5ms/step - loss: 1.7293 - accuracy: 0.4492 - auc: 0.5015 - val_loss: 0.1010 - val_accuracy: 0.9002 - val_auc: 0.0000e+00
## Epoch 2/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.9533 - accuracy: 0.6250 - auc: 0.6490
##  22/176 [==>...........................] - ETA: 0s - loss: 1.4144 - accuracy: 0.4545 - auc: 0.4917
##  41/176 [=====>........................] - ETA: 0s - loss: 1.3907 - accuracy: 0.4558 - auc: 0.5067
##  64/176 [=========>....................] - ETA: 0s - loss: 1.3828 - accuracy: 0.4531 - auc: 0.4885
##  87/176 [=============>................] - ETA: 0s - loss: 1.3248 - accuracy: 0.4644 - auc: 0.4964
## 109/176 [=================>............] - ETA: 0s - loss: 1.2897 - accuracy: 0.4667 - auc: 0.5024
## 132/176 [=====================>........] - ETA: 0s - loss: 1.2509 - accuracy: 0.4690 - auc: 0.5053
## 155/176 [=========================>....] - ETA: 0s - loss: 1.2307 - accuracy: 0.4637 - auc: 0.5030
## 176/176 [==============================] - 1s 3ms/step - loss: 1.2040 - accuracy: 0.4590 - auc: 0.4999 - val_loss: 0.0419 - val_accuracy: 0.9572 - val_auc: 0.0000e+00
## Epoch 3/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.8580 - accuracy: 0.4688 - auc: 0.5024
##  23/176 [==>...........................] - ETA: 0s - loss: 0.9816 - accuracy: 0.4389 - auc: 0.4588
##  44/176 [======>.......................] - ETA: 0s - loss: 0.9351 - accuracy: 0.4602 - auc: 0.4901
##  67/176 [==========>...................] - ETA: 0s - loss: 0.9052 - accuracy: 0.4706 - auc: 0.4981
##  90/176 [==============>...............] - ETA: 0s - loss: 0.8834 - accuracy: 0.4670 - auc: 0.4963
## 112/176 [==================>...........] - ETA: 0s - loss: 0.8513 - accuracy: 0.4749 - auc: 0.5033
## 136/176 [======================>.......] - ETA: 0s - loss: 0.8314 - accuracy: 0.4727 - auc: 0.5055
## 158/176 [=========================>....] - ETA: 0s - loss: 0.8193 - accuracy: 0.4693 - auc: 0.5036
## 176/176 [==============================] - 1s 3ms/step - loss: 0.8123 - accuracy: 0.4683 - auc: 0.5031 - val_loss: 0.0150 - val_accuracy: 0.9936 - val_auc: 0.0000e+00
## Epoch 4/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.9971 - accuracy: 0.3438 - auc: 0.2857
##  22/176 [==>...........................] - ETA: 0s - loss: 0.6811 - accuracy: 0.4560 - auc: 0.4938
##  45/176 [======>.......................] - ETA: 0s - loss: 0.6664 - accuracy: 0.4653 - auc: 0.4957
##  68/176 [==========>...................] - ETA: 0s - loss: 0.6534 - accuracy: 0.4683 - auc: 0.4975
##  90/176 [==============>...............] - ETA: 0s - loss: 0.6454 - accuracy: 0.4656 - auc: 0.4957
## 113/176 [==================>...........] - ETA: 0s - loss: 0.6243 - accuracy: 0.4624 - auc: 0.4951
## 137/176 [======================>.......] - ETA: 0s - loss: 0.6148 - accuracy: 0.4633 - auc: 0.4990
## 160/176 [==========================>...] - ETA: 0s - loss: 0.5926 - accuracy: 0.4699 - auc: 0.5058
## 176/176 [==============================] - 1s 3ms/step - loss: 0.5853 - accuracy: 0.4724 - auc: 0.5080 - val_loss: 0.0345 - val_accuracy: 0.9900 - val_auc: 0.0000e+00
## Epoch 5/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.4791 - accuracy: 0.5000 - auc: 0.5169
##  20/176 [==>...........................] - ETA: 0s - loss: 0.5099 - accuracy: 0.4391 - auc: 0.4661
##  42/176 [======>.......................] - ETA: 0s - loss: 0.4815 - accuracy: 0.4628 - auc: 0.4980
##  65/176 [==========>...................] - ETA: 0s - loss: 0.4673 - accuracy: 0.4740 - auc: 0.5122
##  89/176 [==============>...............] - ETA: 0s - loss: 0.4658 - accuracy: 0.4614 - auc: 0.5010
## 112/176 [==================>...........] - ETA: 0s - loss: 0.4627 - accuracy: 0.4615 - auc: 0.4984
## 135/176 [======================>.......] - ETA: 0s - loss: 0.4532 - accuracy: 0.4618 - auc: 0.4992
## 159/176 [==========================>...] - ETA: 0s - loss: 0.4474 - accuracy: 0.4621 - auc: 0.4985
## 176/176 [==============================] - 1s 3ms/step - loss: 0.4391 - accuracy: 0.4647 - auc: 0.5013 - val_loss: 0.0519 - val_accuracy: 0.9907 - val_auc: 0.0000e+00
## Epoch 6/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.3030 - accuracy: 0.4375 - auc: 0.4542
##  25/176 [===>..........................] - ETA: 0s - loss: 0.3841 - accuracy: 0.4462 - auc: 0.4848
##  48/176 [=======>......................] - ETA: 0s - loss: 0.3678 - accuracy: 0.4616 - auc: 0.4971
##  70/176 [==========>...................] - ETA: 0s - loss: 0.3544 - accuracy: 0.4647 - auc: 0.5059
##  93/176 [==============>...............] - ETA: 0s - loss: 0.3470 - accuracy: 0.4674 - auc: 0.5092
## 116/176 [==================>...........] - ETA: 0s - loss: 0.3461 - accuracy: 0.4644 - auc: 0.5083
## 138/176 [======================>.......] - ETA: 0s - loss: 0.3423 - accuracy: 0.4642 - auc: 0.5054
## 161/176 [==========================>...] - ETA: 0s - loss: 0.3361 - accuracy: 0.4647 - auc: 0.5082
## 176/176 [==============================] - 1s 3ms/step - loss: 0.3350 - accuracy: 0.4622 - auc: 0.5051 - val_loss: 0.0741 - val_accuracy: 0.9900 - val_auc: 0.0000e+00
## Epoch 7/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.4084 - accuracy: 0.3750 - auc: 0.2895
##  24/176 [===>..........................] - ETA: 0s - loss: 0.2866 - accuracy: 0.4714 - auc: 0.5105
##  41/176 [=====>........................] - ETA: 0s - loss: 0.2977 - accuracy: 0.4764 - auc: 0.5104
##  64/176 [=========>....................] - ETA: 0s - loss: 0.2928 - accuracy: 0.4795 - auc: 0.5153
##  88/176 [==============>...............] - ETA: 0s - loss: 0.3033 - accuracy: 0.4716 - auc: 0.5070
## 112/176 [==================>...........] - ETA: 0s - loss: 0.3026 - accuracy: 0.4699 - auc: 0.5015
## 135/176 [======================>.......] - ETA: 0s - loss: 0.2954 - accuracy: 0.4725 - auc: 0.5051
## 159/176 [==========================>...] - ETA: 0s - loss: 0.2926 - accuracy: 0.4733 - auc: 0.5069
## 176/176 [==============================] - 1s 3ms/step - loss: 0.2925 - accuracy: 0.4692 - auc: 0.5047 - val_loss: 0.0957 - val_accuracy: 0.9786 - val_auc: 0.0000e+00
## Epoch 8/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.2779 - accuracy: 0.5000 - auc: 0.5568
##  25/176 [===>..........................] - ETA: 0s - loss: 0.2848 - accuracy: 0.4675 - auc: 0.4883
##  49/176 [=======>......................] - ETA: 0s - loss: 0.2684 - accuracy: 0.4688 - auc: 0.4999
##  72/176 [===========>..................] - ETA: 0s - loss: 0.2689 - accuracy: 0.4688 - auc: 0.4996
##  95/176 [===============>..............] - ETA: 0s - loss: 0.2663 - accuracy: 0.4734 - auc: 0.5038
## 118/176 [===================>..........] - ETA: 0s - loss: 0.2678 - accuracy: 0.4680 - auc: 0.5001
## 141/176 [=======================>......] - ETA: 0s - loss: 0.2621 - accuracy: 0.4663 - auc: 0.5023
## 165/176 [===========================>..] - ETA: 0s - loss: 0.2574 - accuracy: 0.4678 - auc: 0.5041
## 176/176 [==============================] - 1s 3ms/step - loss: 0.2557 - accuracy: 0.4674 - auc: 0.5045 - val_loss: 0.1136 - val_accuracy: 0.9808 - val_auc: 0.0000e+00
## Epoch 9/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.3315 - accuracy: 0.4688 - auc: 0.5386
##  23/176 [==>...........................] - ETA: 0s - loss: 0.2265 - accuracy: 0.4688 - auc: 0.5426
##  46/176 [======>.......................] - ETA: 0s - loss: 0.2259 - accuracy: 0.4586 - auc: 0.5289
##  67/176 [==========>...................] - ETA: 0s - loss: 0.2284 - accuracy: 0.4608 - auc: 0.5249
##  89/176 [==============>...............] - ETA: 0s - loss: 0.2325 - accuracy: 0.4614 - auc: 0.5142
## 112/176 [==================>...........] - ETA: 0s - loss: 0.2333 - accuracy: 0.4528 - auc: 0.5098
## 136/176 [======================>.......] - ETA: 0s - loss: 0.2284 - accuracy: 0.4580 - auc: 0.5134
## 159/176 [==========================>...] - ETA: 0s - loss: 0.2288 - accuracy: 0.4577 - auc: 0.5140
## 176/176 [==============================] - 1s 3ms/step - loss: 0.2312 - accuracy: 0.4558 - auc: 0.5106 - val_loss: 0.1173 - val_accuracy: 0.9857 - val_auc: 0.0000e+00
## Epoch 10/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.2061 - accuracy: 0.6250 - auc: 0.5099
##  24/176 [===>..........................] - ETA: 0s - loss: 0.2399 - accuracy: 0.4466 - auc: 0.4858
##  47/176 [=======>......................] - ETA: 0s - loss: 0.2232 - accuracy: 0.4594 - auc: 0.5143
##  71/176 [===========>..................] - ETA: 0s - loss: 0.2172 - accuracy: 0.4630 - auc: 0.5269
##  93/176 [==============>...............] - ETA: 0s - loss: 0.2173 - accuracy: 0.4587 - auc: 0.5226
## 115/176 [==================>...........] - ETA: 0s - loss: 0.2162 - accuracy: 0.4535 - auc: 0.5161
## 138/176 [======================>.......] - ETA: 0s - loss: 0.2154 - accuracy: 0.4531 - auc: 0.5133
## 161/176 [==========================>...] - ETA: 0s - loss: 0.2161 - accuracy: 0.4513 - auc: 0.5099
## 176/176 [==============================] - 1s 3ms/step - loss: 0.2157 - accuracy: 0.4522 - auc: 0.5088 - val_loss: 0.1093 - val_accuracy: 0.9900 - val_auc: 0.0000e+00
## Epoch 11/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1759 - accuracy: 0.4688 - auc: 0.6113
##  23/176 [==>...........................] - ETA: 0s - loss: 0.2248 - accuracy: 0.4389 - auc: 0.4869
##  47/176 [=======>......................] - ETA: 0s - loss: 0.2221 - accuracy: 0.4382 - auc: 0.4838
##  70/176 [==========>...................] - ETA: 0s - loss: 0.2182 - accuracy: 0.4411 - auc: 0.4899
##  93/176 [==============>...............] - ETA: 0s - loss: 0.2140 - accuracy: 0.4378 - auc: 0.4877
## 117/176 [==================>...........] - ETA: 0s - loss: 0.2099 - accuracy: 0.4362 - auc: 0.4882
## 141/176 [=======================>......] - ETA: 0s - loss: 0.2074 - accuracy: 0.4406 - auc: 0.4976
## 165/176 [===========================>..] - ETA: 0s - loss: 0.2088 - accuracy: 0.4362 - auc: 0.4892
## 176/176 [==============================] - 0s 3ms/step - loss: 0.2079 - accuracy: 0.4369 - auc: 0.4909 - val_loss: 0.2466 - val_accuracy: 0.6657 - val_auc: 0.0000e+00
## Epoch 12/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1695 - accuracy: 0.5312 - auc: 0.5290
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1951 - accuracy: 0.4466 - auc: 0.5026
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1917 - accuracy: 0.4335 - auc: 0.5061
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1876 - accuracy: 0.4384 - auc: 0.5177
##  94/176 [===============>..............] - ETA: 0s - loss: 0.1853 - accuracy: 0.4335 - auc: 0.5150
## 118/176 [===================>..........] - ETA: 0s - loss: 0.1887 - accuracy: 0.4322 - auc: 0.5085
## 142/176 [=======================>......] - ETA: 0s - loss: 0.1892 - accuracy: 0.4331 - auc: 0.5080
## 165/176 [===========================>..] - ETA: 0s - loss: 0.1889 - accuracy: 0.4299 - auc: 0.5051
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1877 - accuracy: 0.4306 - auc: 0.5081 - val_loss: 0.1770 - val_accuracy: 0.9729 - val_auc: 0.0000e+00
## Epoch 13/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1950 - accuracy: 0.3750 - auc: 0.4848
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1872 - accuracy: 0.4036 - auc: 0.4629
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1877 - accuracy: 0.4255 - auc: 0.4817
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1835 - accuracy: 0.4195 - auc: 0.4876
##  95/176 [===============>..............] - ETA: 0s - loss: 0.1834 - accuracy: 0.4201 - auc: 0.4915
## 115/176 [==================>...........] - ETA: 0s - loss: 0.1818 - accuracy: 0.4190 - auc: 0.4966
## 139/176 [======================>.......] - ETA: 0s - loss: 0.1814 - accuracy: 0.4229 - auc: 0.4949
## 163/176 [==========================>...] - ETA: 0s - loss: 0.1815 - accuracy: 0.4250 - auc: 0.4900
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1814 - accuracy: 0.4246 - auc: 0.4927 - val_loss: 0.1781 - val_accuracy: 0.9793 - val_auc: 0.0000e+00
## Epoch 14/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1790 - accuracy: 0.4375 - auc: 0.5152
##  22/176 [==>...........................] - ETA: 0s - loss: 0.1806 - accuracy: 0.3963 - auc: 0.4883
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1781 - accuracy: 0.4192 - auc: 0.4925
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1821 - accuracy: 0.4187 - auc: 0.4937
##  93/176 [==============>...............] - ETA: 0s - loss: 0.1813 - accuracy: 0.4231 - auc: 0.4962
## 117/176 [==================>...........] - ETA: 0s - loss: 0.1821 - accuracy: 0.4247 - auc: 0.4999
## 141/176 [=======================>......] - ETA: 0s - loss: 0.1806 - accuracy: 0.4207 - auc: 0.4998
## 164/176 [==========================>...] - ETA: 0s - loss: 0.1797 - accuracy: 0.4230 - auc: 0.5001
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1794 - accuracy: 0.4244 - auc: 0.4984 - val_loss: 0.0966 - val_accuracy: 0.9993 - val_auc: 0.0000e+00
## Epoch 15/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1729 - accuracy: 0.4062 - auc: 0.5042
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1630 - accuracy: 0.4457 - auc: 0.5267
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1658 - accuracy: 0.4382 - auc: 0.5149
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1675 - accuracy: 0.4287 - auc: 0.5005
##  95/176 [===============>..............] - ETA: 0s - loss: 0.1665 - accuracy: 0.4296 - auc: 0.5056
## 119/176 [===================>..........] - ETA: 0s - loss: 0.1645 - accuracy: 0.4275 - auc: 0.5139
## 142/176 [=======================>......] - ETA: 0s - loss: 0.1675 - accuracy: 0.4225 - auc: 0.5080
## 164/176 [==========================>...] - ETA: 0s - loss: 0.1673 - accuracy: 0.4215 - auc: 0.5074
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1671 - accuracy: 0.4226 - auc: 0.5076 - val_loss: 0.1608 - val_accuracy: 0.9850 - val_auc: 0.0000e+00
## Epoch 16/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1479 - accuracy: 0.4062 - auc: 0.5023
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1624 - accuracy: 0.4125 - auc: 0.5117
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1661 - accuracy: 0.4185 - auc: 0.5030
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1683 - accuracy: 0.4230 - auc: 0.4982
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1672 - accuracy: 0.4222 - auc: 0.5012
## 115/176 [==================>...........] - ETA: 0s - loss: 0.1672 - accuracy: 0.4261 - auc: 0.5062
## 138/176 [======================>.......] - ETA: 0s - loss: 0.1691 - accuracy: 0.4187 - auc: 0.4981
## 162/176 [==========================>...] - ETA: 0s - loss: 0.1693 - accuracy: 0.4192 - auc: 0.4954
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1689 - accuracy: 0.4187 - auc: 0.4952 - val_loss: 0.1958 - val_accuracy: 0.9729 - val_auc: 0.0000e+00
## Epoch 17/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1481 - accuracy: 0.3125 - auc: 0.5571
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1662 - accuracy: 0.4375 - auc: 0.5042
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1632 - accuracy: 0.4402 - auc: 0.5129
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1632 - accuracy: 0.4321 - auc: 0.5118
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1664 - accuracy: 0.4280 - auc: 0.5053
## 112/176 [==================>...........] - ETA: 0s - loss: 0.1656 - accuracy: 0.4336 - auc: 0.5060
## 133/176 [=====================>........] - ETA: 0s - loss: 0.1643 - accuracy: 0.4337 - auc: 0.5101
## 156/176 [=========================>....] - ETA: 0s - loss: 0.1657 - accuracy: 0.4271 - auc: 0.5024
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1651 - accuracy: 0.4246 - auc: 0.5037 - val_loss: 0.1625 - val_accuracy: 0.9872 - val_auc: 0.0000e+00
## Epoch 18/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1567 - accuracy: 0.4062 - auc: 0.3874
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1508 - accuracy: 0.4323 - auc: 0.5542
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1545 - accuracy: 0.4215 - auc: 0.5458
##  68/176 [==========>...................] - ETA: 0s - loss: 0.1569 - accuracy: 0.4233 - auc: 0.5332
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1580 - accuracy: 0.4158 - auc: 0.5225
## 115/176 [==================>...........] - ETA: 0s - loss: 0.1588 - accuracy: 0.4147 - auc: 0.5149
## 138/176 [======================>.......] - ETA: 0s - loss: 0.1596 - accuracy: 0.4108 - auc: 0.5078
## 160/176 [==========================>...] - ETA: 0s - loss: 0.1578 - accuracy: 0.4205 - auc: 0.5188
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1580 - accuracy: 0.4194 - auc: 0.5203 - val_loss: 0.2221 - val_accuracy: 0.9608 - val_auc: 0.0000e+00
## Epoch 19/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1440 - accuracy: 0.4375 - auc: 0.6234
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1534 - accuracy: 0.4387 - auc: 0.5251
##  48/176 [=======>......................] - ETA: 0s - loss: 0.1575 - accuracy: 0.4134 - auc: 0.4961
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1559 - accuracy: 0.4124 - auc: 0.5105
##  95/176 [===============>..............] - ETA: 0s - loss: 0.1553 - accuracy: 0.4191 - auc: 0.5179
## 118/176 [===================>..........] - ETA: 0s - loss: 0.1568 - accuracy: 0.4166 - auc: 0.5161
## 141/176 [=======================>......] - ETA: 0s - loss: 0.1567 - accuracy: 0.4151 - auc: 0.5122
## 165/176 [===========================>..] - ETA: 0s - loss: 0.1555 - accuracy: 0.4186 - auc: 0.5189
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1556 - accuracy: 0.4206 - auc: 0.5197 - val_loss: 0.1333 - val_accuracy: 0.9943 - val_auc: 0.0000e+00
## Epoch 20/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1547 - accuracy: 0.4375 - auc: 0.6523
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1505 - accuracy: 0.4323 - auc: 0.5436
##  44/176 [======>.......................] - ETA: 0s - loss: 0.1554 - accuracy: 0.4183 - auc: 0.5203
##  68/176 [==========>...................] - ETA: 0s - loss: 0.1582 - accuracy: 0.4173 - auc: 0.5123
##  91/176 [==============>...............] - ETA: 0s - loss: 0.1585 - accuracy: 0.4148 - auc: 0.5079
## 114/176 [==================>...........] - ETA: 0s - loss: 0.1585 - accuracy: 0.4156 - auc: 0.5108
## 133/176 [=====================>........] - ETA: 0s - loss: 0.1568 - accuracy: 0.4131 - auc: 0.5130
## 156/176 [=========================>....] - ETA: 0s - loss: 0.1572 - accuracy: 0.4143 - auc: 0.5108
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1566 - accuracy: 0.4133 - auc: 0.5143 - val_loss: 0.2613 - val_accuracy: 0.4925 - val_auc: 0.0000e+00
## Epoch 21/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1542 - accuracy: 0.5938 - auc: 0.6147
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1598 - accuracy: 0.4497 - auc: 0.5074
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1562 - accuracy: 0.4249 - auc: 0.5084
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1585 - accuracy: 0.4153 - auc: 0.5040
##  93/176 [==============>...............] - ETA: 0s - loss: 0.1584 - accuracy: 0.4106 - auc: 0.5032
## 114/176 [==================>...........] - ETA: 0s - loss: 0.1572 - accuracy: 0.4120 - auc: 0.5030
## 137/176 [======================>.......] - ETA: 0s - loss: 0.1566 - accuracy: 0.4122 - auc: 0.5016
## 159/176 [==========================>...] - ETA: 0s - loss: 0.1560 - accuracy: 0.4090 - auc: 0.5060
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1558 - accuracy: 0.4091 - auc: 0.5069 - val_loss: 0.2212 - val_accuracy: 0.9458 - val_auc: 0.0000e+00
## Epoch 22/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1951 - accuracy: 0.4688 - auc: 0.4881
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1490 - accuracy: 0.4284 - auc: 0.5520
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1524 - accuracy: 0.4195 - auc: 0.5266
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1518 - accuracy: 0.4121 - auc: 0.5284
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1532 - accuracy: 0.4039 - auc: 0.5158
## 114/176 [==================>...........] - ETA: 0s - loss: 0.1540 - accuracy: 0.4002 - auc: 0.5112
## 138/176 [======================>.......] - ETA: 0s - loss: 0.1535 - accuracy: 0.3999 - auc: 0.5110
## 162/176 [==========================>...] - ETA: 0s - loss: 0.1536 - accuracy: 0.3985 - auc: 0.5127
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1537 - accuracy: 0.4034 - auc: 0.5121 - val_loss: 0.1119 - val_accuracy: 0.9964 - val_auc: 0.0000e+00
## Epoch 23/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1531 - accuracy: 0.4688 - auc: 0.4484
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1586 - accuracy: 0.4049 - auc: 0.4899
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1585 - accuracy: 0.3923 - auc: 0.4879
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1554 - accuracy: 0.3964 - auc: 0.4994
##  93/176 [==============>...............] - ETA: 0s - loss: 0.1538 - accuracy: 0.4076 - auc: 0.5079
## 118/176 [===================>..........] - ETA: 0s - loss: 0.1530 - accuracy: 0.4044 - auc: 0.5109
## 141/176 [=======================>......] - ETA: 0s - loss: 0.1518 - accuracy: 0.4047 - auc: 0.5156
## 164/176 [==========================>...] - ETA: 0s - loss: 0.1516 - accuracy: 0.4055 - auc: 0.5150
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1514 - accuracy: 0.4057 - auc: 0.5158 - val_loss: 0.1911 - val_accuracy: 0.9822 - val_auc: 0.0000e+00
## Epoch 24/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1352 - accuracy: 0.3750 - auc: 0.6114
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1479 - accuracy: 0.4313 - auc: 0.5269
##  49/176 [=======>......................] - ETA: 0s - loss: 0.1507 - accuracy: 0.4267 - auc: 0.5141
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1503 - accuracy: 0.4181 - auc: 0.5124
##  94/176 [===============>..............] - ETA: 0s - loss: 0.1502 - accuracy: 0.4106 - auc: 0.5153
## 118/176 [===================>..........] - ETA: 0s - loss: 0.1496 - accuracy: 0.4044 - auc: 0.5172
## 141/176 [=======================>......] - ETA: 0s - loss: 0.1503 - accuracy: 0.4009 - auc: 0.5089
## 164/176 [==========================>...] - ETA: 0s - loss: 0.1502 - accuracy: 0.4017 - auc: 0.5178
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1503 - accuracy: 0.4057 - auc: 0.5201 - val_loss: 0.1519 - val_accuracy: 0.9907 - val_auc: 0.0000e+00
## Epoch 25/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1386 - accuracy: 0.2812 - auc: 0.6198
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1510 - accuracy: 0.4232 - auc: 0.5235
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1502 - accuracy: 0.4249 - auc: 0.5207
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1504 - accuracy: 0.4205 - auc: 0.5201
##  94/176 [===============>..............] - ETA: 0s - loss: 0.1520 - accuracy: 0.4129 - auc: 0.5121
## 117/176 [==================>...........] - ETA: 0s - loss: 0.1515 - accuracy: 0.4105 - auc: 0.5138
## 140/176 [======================>.......] - ETA: 0s - loss: 0.1518 - accuracy: 0.4105 - auc: 0.5136
## 162/176 [==========================>...] - ETA: 0s - loss: 0.1522 - accuracy: 0.4084 - auc: 0.5112
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1517 - accuracy: 0.4050 - auc: 0.5116 - val_loss: 0.1960 - val_accuracy: 0.9808 - val_auc: 0.0000e+00
## Epoch 26/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1467 - accuracy: 0.2812 - auc: 0.4565
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1472 - accuracy: 0.3893 - auc: 0.5067
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1487 - accuracy: 0.4042 - auc: 0.5256
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1486 - accuracy: 0.4076 - auc: 0.5242
##  94/176 [===============>..............] - ETA: 0s - loss: 0.1494 - accuracy: 0.3989 - auc: 0.5178
## 118/176 [===================>..........] - ETA: 0s - loss: 0.1510 - accuracy: 0.4044 - auc: 0.5142
## 139/176 [======================>.......] - ETA: 0s - loss: 0.1513 - accuracy: 0.4009 - auc: 0.5124
## 162/176 [==========================>...] - ETA: 0s - loss: 0.1507 - accuracy: 0.4005 - auc: 0.5145
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1504 - accuracy: 0.4016 - auc: 0.5156 - val_loss: 0.1431 - val_accuracy: 0.9943 - val_auc: 0.0000e+00
## Epoch 27/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1580 - accuracy: 0.4062 - auc: 0.4514
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1473 - accuracy: 0.3981 - auc: 0.5215
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1468 - accuracy: 0.3988 - auc: 0.5236
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1469 - accuracy: 0.4089 - auc: 0.5296
##  91/176 [==============>...............] - ETA: 0s - loss: 0.1467 - accuracy: 0.4073 - auc: 0.5325
## 115/176 [==================>...........] - ETA: 0s - loss: 0.1470 - accuracy: 0.3995 - auc: 0.5245
## 139/176 [======================>.......] - ETA: 0s - loss: 0.1481 - accuracy: 0.3961 - auc: 0.5192
## 161/176 [==========================>...] - ETA: 0s - loss: 0.1483 - accuracy: 0.3931 - auc: 0.5162
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1490 - accuracy: 0.3969 - auc: 0.5137 - val_loss: 0.1377 - val_accuracy: 0.9929 - val_auc: 0.0000e+00
## Epoch 28/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1567 - accuracy: 0.2812 - auc: 0.4807
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1506 - accuracy: 0.3963 - auc: 0.4825
##  48/176 [=======>......................] - ETA: 0s - loss: 0.1482 - accuracy: 0.3965 - auc: 0.4988
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1490 - accuracy: 0.3992 - auc: 0.4955
##  95/176 [===============>..............] - ETA: 0s - loss: 0.1486 - accuracy: 0.3970 - auc: 0.5046
## 118/176 [===================>..........] - ETA: 0s - loss: 0.1486 - accuracy: 0.3951 - auc: 0.5055
## 141/176 [=======================>......] - ETA: 0s - loss: 0.1489 - accuracy: 0.3974 - auc: 0.5079
## 164/176 [==========================>...] - ETA: 0s - loss: 0.1488 - accuracy: 0.3963 - auc: 0.5090
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1487 - accuracy: 0.3953 - auc: 0.5092 - val_loss: 0.1806 - val_accuracy: 0.9914 - val_auc: 0.0000e+00
## Epoch 29/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1359 - accuracy: 0.4688 - auc: 0.6187
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1439 - accuracy: 0.4338 - auc: 0.5473
##  48/176 [=======>......................] - ETA: 0s - loss: 0.1441 - accuracy: 0.4277 - auc: 0.5506
##  72/176 [===========>..................] - ETA: 0s - loss: 0.1455 - accuracy: 0.4310 - auc: 0.5537
##  93/176 [==============>...............] - ETA: 0s - loss: 0.1467 - accuracy: 0.4298 - auc: 0.5442
## 117/176 [==================>...........] - ETA: 0s - loss: 0.1470 - accuracy: 0.4228 - auc: 0.5385
## 138/176 [======================>.......] - ETA: 0s - loss: 0.1469 - accuracy: 0.4185 - auc: 0.5342
## 161/176 [==========================>...] - ETA: 0s - loss: 0.1476 - accuracy: 0.4146 - auc: 0.5294
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1477 - accuracy: 0.4114 - auc: 0.5267 - val_loss: 0.1948 - val_accuracy: 0.9808 - val_auc: 0.0000e+00
## Epoch 30/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1415 - accuracy: 0.3750 - auc: 0.4205
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1504 - accuracy: 0.4150 - auc: 0.5242
##  48/176 [=======>......................] - ETA: 0s - loss: 0.1497 - accuracy: 0.4128 - auc: 0.5276
##  72/176 [===========>..................] - ETA: 0s - loss: 0.1488 - accuracy: 0.4067 - auc: 0.5254
##  95/176 [===============>..............] - ETA: 0s - loss: 0.1482 - accuracy: 0.4076 - auc: 0.5265
## 117/176 [==================>...........] - ETA: 0s - loss: 0.1483 - accuracy: 0.4060 - auc: 0.5211
## 140/176 [======================>.......] - ETA: 0s - loss: 0.1481 - accuracy: 0.4033 - auc: 0.5198
## 164/176 [==========================>...] - ETA: 0s - loss: 0.1481 - accuracy: 0.3998 - auc: 0.5153
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1481 - accuracy: 0.4001 - auc: 0.5126 - val_loss: 0.1487 - val_accuracy: 0.9957 - val_auc: 0.0000e+00
## Epoch 31/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1480 - accuracy: 0.3750 - auc: 0.3896
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1489 - accuracy: 0.3825 - auc: 0.5159
##  48/176 [=======>......................] - ETA: 0s - loss: 0.1498 - accuracy: 0.3887 - auc: 0.5030
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1499 - accuracy: 0.3891 - auc: 0.5040
##  95/176 [===============>..............] - ETA: 0s - loss: 0.1494 - accuracy: 0.3984 - auc: 0.5103
## 119/176 [===================>..........] - ETA: 0s - loss: 0.1495 - accuracy: 0.3960 - auc: 0.5072
## 142/176 [=======================>......] - ETA: 0s - loss: 0.1492 - accuracy: 0.3988 - auc: 0.5099
## 164/176 [==========================>...] - ETA: 0s - loss: 0.1489 - accuracy: 0.3984 - auc: 0.5061
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1488 - accuracy: 0.3975 - auc: 0.5053 - val_loss: 0.1823 - val_accuracy: 0.9800 - val_auc: 0.0000e+00
## Epoch 32/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1602 - accuracy: 0.2812 - auc: 0.4919
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1447 - accuracy: 0.3940 - auc: 0.5217
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1465 - accuracy: 0.3949 - auc: 0.5033
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1467 - accuracy: 0.3939 - auc: 0.4979
##  94/176 [===============>..............] - ETA: 0s - loss: 0.1467 - accuracy: 0.3946 - auc: 0.5044
## 117/176 [==================>...........] - ETA: 0s - loss: 0.1461 - accuracy: 0.3956 - auc: 0.5150
## 141/176 [=======================>......] - ETA: 0s - loss: 0.1462 - accuracy: 0.3985 - auc: 0.5195
## 163/176 [==========================>...] - ETA: 0s - loss: 0.1465 - accuracy: 0.3999 - auc: 0.5185
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1468 - accuracy: 0.3982 - auc: 0.5156 - val_loss: 0.1450 - val_accuracy: 0.9943 - val_auc: 0.0000e+00
## Epoch 33/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1507 - accuracy: 0.4062 - auc: 0.4762
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1459 - accuracy: 0.3818 - auc: 0.4973
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1455 - accuracy: 0.3723 - auc: 0.4991
##  68/176 [==========>...................] - ETA: 0s - loss: 0.1459 - accuracy: 0.3727 - auc: 0.5009
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1467 - accuracy: 0.3770 - auc: 0.4916
## 116/176 [==================>...........] - ETA: 0s - loss: 0.1480 - accuracy: 0.3812 - auc: 0.4905
## 137/176 [======================>.......] - ETA: 0s - loss: 0.1476 - accuracy: 0.3812 - auc: 0.4958
## 160/176 [==========================>...] - ETA: 0s - loss: 0.1472 - accuracy: 0.3838 - auc: 0.5009
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1472 - accuracy: 0.3880 - auc: 0.5077 - val_loss: 0.1155 - val_accuracy: 0.9964 - val_auc: 0.0000e+00
## Epoch 34/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1425 - accuracy: 0.5000 - auc: 0.5586
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1495 - accuracy: 0.4036 - auc: 0.5126
##  48/176 [=======>......................] - ETA: 0s - loss: 0.1471 - accuracy: 0.3926 - auc: 0.5148
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1478 - accuracy: 0.3915 - auc: 0.5084
##  94/176 [===============>..............] - ETA: 0s - loss: 0.1478 - accuracy: 0.3956 - auc: 0.5100
## 118/176 [===================>..........] - ETA: 0s - loss: 0.1477 - accuracy: 0.3996 - auc: 0.5120
## 140/176 [======================>.......] - ETA: 0s - loss: 0.1475 - accuracy: 0.4000 - auc: 0.5134
## 164/176 [==========================>...] - ETA: 0s - loss: 0.1476 - accuracy: 0.3998 - auc: 0.5117
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1477 - accuracy: 0.3989 - auc: 0.5094 - val_loss: 0.1841 - val_accuracy: 0.9872 - val_auc: 0.0000e+00
## Epoch 35/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1336 - accuracy: 0.4062 - auc: 0.5500
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1438 - accuracy: 0.3802 - auc: 0.5309
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1459 - accuracy: 0.3947 - auc: 0.5114
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1463 - accuracy: 0.3875 - auc: 0.5081
##  93/176 [==============>...............] - ETA: 0s - loss: 0.1464 - accuracy: 0.3938 - auc: 0.5090
## 115/176 [==================>...........] - ETA: 0s - loss: 0.1464 - accuracy: 0.3973 - auc: 0.5093
## 138/176 [======================>.......] - ETA: 0s - loss: 0.1467 - accuracy: 0.3942 - auc: 0.5029
## 161/176 [==========================>...] - ETA: 0s - loss: 0.1465 - accuracy: 0.3944 - auc: 0.5073
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1466 - accuracy: 0.3927 - auc: 0.5057 - val_loss: 0.2025 - val_accuracy: 0.9843 - val_auc: 0.0000e+00
## Epoch 36/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1353 - accuracy: 0.3438 - auc: 0.6818
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1458 - accuracy: 0.3984 - auc: 0.5258
##  48/176 [=======>......................] - ETA: 0s - loss: 0.1478 - accuracy: 0.3965 - auc: 0.5109
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1470 - accuracy: 0.3942 - auc: 0.5134
##  91/176 [==============>...............] - ETA: 0s - loss: 0.1467 - accuracy: 0.3942 - auc: 0.5171
## 113/176 [==================>...........] - ETA: 0s - loss: 0.1467 - accuracy: 0.3960 - auc: 0.5155
## 136/176 [======================>.......] - ETA: 0s - loss: 0.1465 - accuracy: 0.3936 - auc: 0.5180
## 159/176 [==========================>...] - ETA: 0s - loss: 0.1463 - accuracy: 0.3917 - auc: 0.5178
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1468 - accuracy: 0.3946 - auc: 0.5184 - val_loss: 0.1788 - val_accuracy: 0.9907 - val_auc: 0.0000e+00
## Epoch 37/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1324 - accuracy: 0.3125 - auc: 0.5755
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1481 - accuracy: 0.3663 - auc: 0.5025
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1476 - accuracy: 0.3743 - auc: 0.4912
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1473 - accuracy: 0.3772 - auc: 0.4879
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1469 - accuracy: 0.3811 - auc: 0.4968
## 113/176 [==================>...........] - ETA: 0s - loss: 0.1469 - accuracy: 0.3805 - auc: 0.5006
## 136/176 [======================>.......] - ETA: 0s - loss: 0.1472 - accuracy: 0.3886 - auc: 0.5033
## 159/176 [==========================>...] - ETA: 0s - loss: 0.1468 - accuracy: 0.3903 - auc: 0.5063
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1473 - accuracy: 0.3889 - auc: 0.5056 - val_loss: 0.2194 - val_accuracy: 0.9708 - val_auc: 0.0000e+00
## Epoch 38/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1463 - accuracy: 0.4688 - auc: 0.5729
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1466 - accuracy: 0.3900 - auc: 0.4949
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1464 - accuracy: 0.3723 - auc: 0.4974
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1462 - accuracy: 0.3809 - auc: 0.5060
##  86/176 [=============>................] - ETA: 0s - loss: 0.1460 - accuracy: 0.3772 - auc: 0.5079
## 109/176 [=================>............] - ETA: 0s - loss: 0.1462 - accuracy: 0.3853 - auc: 0.5118
## 132/176 [=====================>........] - ETA: 0s - loss: 0.1464 - accuracy: 0.3816 - auc: 0.5088
## 156/176 [=========================>....] - ETA: 0s - loss: 0.1462 - accuracy: 0.3828 - auc: 0.5082
## 175/176 [============================>.] - ETA: 0s - loss: 0.1461 - accuracy: 0.3871 - auc: 0.5154
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1460 - accuracy: 0.3869 - auc: 0.5155 - val_loss: 0.1983 - val_accuracy: 0.9779 - val_auc: 0.0000e+00
## Epoch 39/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1540 - accuracy: 0.3438 - auc: 0.5693
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1441 - accuracy: 0.4089 - auc: 0.5502
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1462 - accuracy: 0.3879 - auc: 0.5201
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1470 - accuracy: 0.3978 - auc: 0.5194
##  94/176 [===============>..............] - ETA: 0s - loss: 0.1465 - accuracy: 0.3953 - auc: 0.5139
## 115/176 [==================>...........] - ETA: 0s - loss: 0.1459 - accuracy: 0.3918 - auc: 0.5207
## 139/176 [======================>.......] - ETA: 0s - loss: 0.1462 - accuracy: 0.3919 - auc: 0.5212
## 163/176 [==========================>...] - ETA: 0s - loss: 0.1462 - accuracy: 0.3957 - auc: 0.5237
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1462 - accuracy: 0.3944 - auc: 0.5221 - val_loss: 0.1669 - val_accuracy: 0.9907 - val_auc: 0.0000e+00
## Epoch 40/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1777 - accuracy: 0.5000 - auc: 0.5510
##  22/176 [==>...........................] - ETA: 0s - loss: 0.1543 - accuracy: 0.3935 - auc: 0.4943
##  41/176 [=====>........................] - ETA: 0s - loss: 0.1492 - accuracy: 0.3887 - auc: 0.5115
##  62/176 [=========>....................] - ETA: 0s - loss: 0.1483 - accuracy: 0.3911 - auc: 0.5065
##  85/176 [=============>................] - ETA: 0s - loss: 0.1478 - accuracy: 0.3908 - auc: 0.5091
## 108/176 [=================>............] - ETA: 0s - loss: 0.1475 - accuracy: 0.3860 - auc: 0.5083
## 131/176 [=====================>........] - ETA: 0s - loss: 0.1473 - accuracy: 0.3843 - auc: 0.5059
## 154/176 [=========================>....] - ETA: 0s - loss: 0.1471 - accuracy: 0.3872 - auc: 0.5040
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1469 - accuracy: 0.3910 - auc: 0.5089 - val_loss: 0.2251 - val_accuracy: 0.9672 - val_auc: 0.0000e+00
## Epoch 41/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1522 - accuracy: 0.4688 - auc: 0.6569
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1448 - accuracy: 0.4036 - auc: 0.5122
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1464 - accuracy: 0.3783 - auc: 0.4972
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1468 - accuracy: 0.3804 - auc: 0.4967
##  93/176 [==============>...............] - ETA: 0s - loss: 0.1466 - accuracy: 0.3921 - auc: 0.5124
## 116/176 [==================>...........] - ETA: 0s - loss: 0.1463 - accuracy: 0.3955 - auc: 0.5136
## 139/176 [======================>.......] - ETA: 0s - loss: 0.1456 - accuracy: 0.3968 - auc: 0.5201
## 162/176 [==========================>...] - ETA: 0s - loss: 0.1453 - accuracy: 0.3931 - auc: 0.5253
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1453 - accuracy: 0.3900 - auc: 0.5235 - val_loss: 0.2091 - val_accuracy: 0.9708 - val_auc: 0.0000e+00
## Epoch 42/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1202 - accuracy: 0.4062 - auc: 0.8636
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1448 - accuracy: 0.4130 - auc: 0.5187
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1442 - accuracy: 0.4016 - auc: 0.5218
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1453 - accuracy: 0.4133 - auc: 0.5422
##  94/176 [===============>..............] - ETA: 0s - loss: 0.1449 - accuracy: 0.4023 - auc: 0.5372
## 117/176 [==================>...........] - ETA: 0s - loss: 0.1451 - accuracy: 0.3993 - auc: 0.5341
## 139/176 [======================>.......] - ETA: 0s - loss: 0.1448 - accuracy: 0.4042 - auc: 0.5368
## 163/176 [==========================>...] - ETA: 0s - loss: 0.1452 - accuracy: 0.4047 - auc: 0.5353
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1453 - accuracy: 0.4025 - auc: 0.5328 - val_loss: 0.2108 - val_accuracy: 0.9793 - val_auc: 0.0000e+00
## Epoch 43/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1418 - accuracy: 0.3125 - auc: 0.3575
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1489 - accuracy: 0.3958 - auc: 0.4952
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1482 - accuracy: 0.3976 - auc: 0.4954
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1472 - accuracy: 0.4040 - auc: 0.5005
##  94/176 [===============>..............] - ETA: 0s - loss: 0.1465 - accuracy: 0.3920 - auc: 0.5014
## 118/176 [===================>..........] - ETA: 0s - loss: 0.1460 - accuracy: 0.3877 - auc: 0.5096
## 141/176 [=======================>......] - ETA: 0s - loss: 0.1459 - accuracy: 0.3879 - auc: 0.5145
## 164/176 [==========================>...] - ETA: 0s - loss: 0.1456 - accuracy: 0.3874 - auc: 0.5180
## 176/176 [==============================] - 0s 3ms/step - loss: 0.1454 - accuracy: 0.3880 - auc: 0.5207 - val_loss: 0.2294 - val_accuracy: 0.9522 - val_auc: 0.0000e+00
## Epoch 44/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1384 - accuracy: 0.4062 - auc: 0.6583
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1443 - accuracy: 0.3984 - auc: 0.5142
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1449 - accuracy: 0.3983 - auc: 0.5241
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1450 - accuracy: 0.3992 - auc: 0.5261
##  93/176 [==============>...............] - ETA: 0s - loss: 0.1448 - accuracy: 0.3989 - auc: 0.5229
## 117/176 [==================>...........] - ETA: 0s - loss: 0.1444 - accuracy: 0.3993 - auc: 0.5312
## 141/176 [=======================>......] - ETA: 0s - loss: 0.1446 - accuracy: 0.3967 - auc: 0.5297
## 164/176 [==========================>...] - ETA: 0s - loss: 0.1442 - accuracy: 0.3952 - auc: 0.5322
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1442 - accuracy: 0.3957 - auc: 0.5340 - val_loss: 0.1707 - val_accuracy: 0.9843 - val_auc: 0.0000e+00
## Epoch 45/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1340 - accuracy: 0.3125 - auc: 0.6184
##  22/176 [==>...........................] - ETA: 0s - loss: 0.1457 - accuracy: 0.4048 - auc: 0.5259
##  45/176 [======>.......................] - ETA: 0s - loss: 0.1432 - accuracy: 0.4194 - auc: 0.5574
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1428 - accuracy: 0.4049 - auc: 0.5524
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1434 - accuracy: 0.4018 - auc: 0.5398
## 115/176 [==================>...........] - ETA: 0s - loss: 0.1436 - accuracy: 0.4000 - auc: 0.5333
## 138/176 [======================>.......] - ETA: 0s - loss: 0.1438 - accuracy: 0.3963 - auc: 0.5302
## 162/176 [==========================>...] - ETA: 0s - loss: 0.1438 - accuracy: 0.3953 - auc: 0.5292
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1440 - accuracy: 0.3966 - auc: 0.5272 - val_loss: 0.1698 - val_accuracy: 0.9914 - val_auc: 0.0000e+00
## Epoch 46/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1479 - accuracy: 0.5000 - auc: 0.6255
##  21/176 [==>...........................] - ETA: 0s - loss: 0.1439 - accuracy: 0.4062 - auc: 0.5573
##  43/176 [======>.......................] - ETA: 0s - loss: 0.1432 - accuracy: 0.3953 - auc: 0.5427
##  65/176 [==========>...................] - ETA: 0s - loss: 0.1430 - accuracy: 0.3986 - auc: 0.5437
##  88/176 [==============>...............] - ETA: 0s - loss: 0.1435 - accuracy: 0.3920 - auc: 0.5364
## 112/176 [==================>...........] - ETA: 0s - loss: 0.1439 - accuracy: 0.3887 - auc: 0.5259
## 135/176 [======================>.......] - ETA: 0s - loss: 0.1434 - accuracy: 0.3847 - auc: 0.5297
## 157/176 [=========================>....] - ETA: 0s - loss: 0.1435 - accuracy: 0.3877 - auc: 0.5323
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1437 - accuracy: 0.3880 - auc: 0.5317 - val_loss: 0.2045 - val_accuracy: 0.9822 - val_auc: 0.0000e+00
## Epoch 47/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1461 - accuracy: 0.4375 - auc: 0.5729
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1495 - accuracy: 0.4008 - auc: 0.5135
##  44/176 [======>.......................] - ETA: 0s - loss: 0.1489 - accuracy: 0.4141 - auc: 0.5207
##  68/176 [==========>...................] - ETA: 0s - loss: 0.1478 - accuracy: 0.4035 - auc: 0.5217
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1468 - accuracy: 0.3947 - auc: 0.5215
## 115/176 [==================>...........] - ETA: 0s - loss: 0.1467 - accuracy: 0.3902 - auc: 0.5158
## 139/176 [======================>.......] - ETA: 0s - loss: 0.1461 - accuracy: 0.3889 - auc: 0.5223
## 163/176 [==========================>...] - ETA: 0s - loss: 0.1459 - accuracy: 0.3917 - auc: 0.5239
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1459 - accuracy: 0.3891 - auc: 0.5225 - val_loss: 0.1922 - val_accuracy: 0.9779 - val_auc: 0.0000e+00
## Epoch 48/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1361 - accuracy: 0.3438 - auc: 0.6386
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1448 - accuracy: 0.3906 - auc: 0.5236
##  48/176 [=======>......................] - ETA: 0s - loss: 0.1452 - accuracy: 0.3848 - auc: 0.5023
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1445 - accuracy: 0.3821 - auc: 0.5091
##  93/176 [==============>...............] - ETA: 0s - loss: 0.1437 - accuracy: 0.3817 - auc: 0.5213
## 117/176 [==================>...........] - ETA: 0s - loss: 0.1436 - accuracy: 0.3862 - auc: 0.5294
## 139/176 [======================>.......] - ETA: 0s - loss: 0.1438 - accuracy: 0.3894 - auc: 0.5305
## 161/176 [==========================>...] - ETA: 0s - loss: 0.1442 - accuracy: 0.3878 - auc: 0.5256
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1443 - accuracy: 0.3878 - auc: 0.5219 - val_loss: 0.1929 - val_accuracy: 0.9857 - val_auc: 0.0000e+00
## Epoch 49/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1543 - accuracy: 0.5625 - auc: 0.4940
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1430 - accuracy: 0.3875 - auc: 0.5082
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1438 - accuracy: 0.3852 - auc: 0.5112
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1439 - accuracy: 0.3976 - auc: 0.5259
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1438 - accuracy: 0.3933 - auc: 0.5220
## 115/176 [==================>...........] - ETA: 0s - loss: 0.1437 - accuracy: 0.3913 - auc: 0.5233
## 137/176 [======================>.......] - ETA: 0s - loss: 0.1444 - accuracy: 0.3905 - auc: 0.5158
## 159/176 [==========================>...] - ETA: 0s - loss: 0.1440 - accuracy: 0.3856 - auc: 0.5200
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1438 - accuracy: 0.3868 - auc: 0.5208 - val_loss: 0.1766 - val_accuracy: 0.9872 - val_auc: 0.0000e+00
## Epoch 50/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1329 - accuracy: 0.2188 - auc: 0.5449
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1431 - accuracy: 0.4049 - auc: 0.5246
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1427 - accuracy: 0.3850 - auc: 0.5477
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1432 - accuracy: 0.3827 - auc: 0.5297
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1435 - accuracy: 0.3879 - auc: 0.5383
## 115/176 [==================>...........] - ETA: 0s - loss: 0.1432 - accuracy: 0.3864 - auc: 0.5385
## 137/176 [======================>.......] - ETA: 0s - loss: 0.1437 - accuracy: 0.3853 - auc: 0.5357
## 160/176 [==========================>...] - ETA: 0s - loss: 0.1439 - accuracy: 0.3896 - auc: 0.5388
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1440 - accuracy: 0.3909 - auc: 0.5346 - val_loss: 0.1887 - val_accuracy: 0.9850 - val_auc: 0.0000e+00
## Epoch 51/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1364 - accuracy: 0.3750 - auc: 0.6182
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1438 - accuracy: 0.3675 - auc: 0.5113
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1442 - accuracy: 0.3890 - auc: 0.5269
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1436 - accuracy: 0.3895 - auc: 0.5312
##  93/176 [==============>...............] - ETA: 0s - loss: 0.1436 - accuracy: 0.3858 - auc: 0.5319
## 116/176 [==================>...........] - ETA: 0s - loss: 0.1434 - accuracy: 0.3866 - auc: 0.5365
## 139/176 [======================>.......] - ETA: 0s - loss: 0.1434 - accuracy: 0.3867 - auc: 0.5388
## 162/176 [==========================>...] - ETA: 0s - loss: 0.1438 - accuracy: 0.3883 - auc: 0.5317
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1439 - accuracy: 0.3889 - auc: 0.5307 - val_loss: 0.1893 - val_accuracy: 0.9808 - val_auc: 0.0000e+00
## Epoch 52/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1522 - accuracy: 0.4688 - auc: 0.5000
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1461 - accuracy: 0.4128 - auc: 0.4922
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1455 - accuracy: 0.4076 - auc: 0.4955
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1452 - accuracy: 0.3913 - auc: 0.5059
##  94/176 [===============>..............] - ETA: 0s - loss: 0.1453 - accuracy: 0.3883 - auc: 0.5020
## 118/176 [===================>..........] - ETA: 0s - loss: 0.1446 - accuracy: 0.3869 - auc: 0.5115
## 139/176 [======================>.......] - ETA: 0s - loss: 0.1450 - accuracy: 0.3921 - auc: 0.5102
## 163/176 [==========================>...] - ETA: 0s - loss: 0.1448 - accuracy: 0.3921 - auc: 0.5160
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1448 - accuracy: 0.3916 - auc: 0.5167 - val_loss: 0.1499 - val_accuracy: 0.9922 - val_auc: 0.0000e+00
## Epoch 53/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1389 - accuracy: 0.4688 - auc: 0.5385
##  21/176 [==>...........................] - ETA: 0s - loss: 0.1447 - accuracy: 0.3958 - auc: 0.5322
##  45/176 [======>.......................] - ETA: 0s - loss: 0.1435 - accuracy: 0.3889 - auc: 0.5288
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1431 - accuracy: 0.3886 - auc: 0.5272
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1436 - accuracy: 0.3879 - auc: 0.5158
## 116/176 [==================>...........] - ETA: 0s - loss: 0.1439 - accuracy: 0.3890 - auc: 0.5143
## 139/176 [======================>.......] - ETA: 0s - loss: 0.1441 - accuracy: 0.3901 - auc: 0.5127
## 162/176 [==========================>...] - ETA: 0s - loss: 0.1442 - accuracy: 0.3895 - auc: 0.5115
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1442 - accuracy: 0.3916 - auc: 0.5100 - val_loss: 0.1420 - val_accuracy: 0.9950 - val_auc: 0.0000e+00
## Epoch 54/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1413 - accuracy: 0.5938 - auc: 0.4939
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1450 - accuracy: 0.3887 - auc: 0.5151
##  49/176 [=======>......................] - ETA: 0s - loss: 0.1437 - accuracy: 0.3744 - auc: 0.5302
##  72/176 [===========>..................] - ETA: 0s - loss: 0.1425 - accuracy: 0.3728 - auc: 0.5346
##  95/176 [===============>..............] - ETA: 0s - loss: 0.1434 - accuracy: 0.3839 - auc: 0.5336
## 118/176 [===================>..........] - ETA: 0s - loss: 0.1439 - accuracy: 0.3845 - auc: 0.5221
## 137/176 [======================>.......] - ETA: 0s - loss: 0.1442 - accuracy: 0.3869 - auc: 0.5200
## 161/176 [==========================>...] - ETA: 0s - loss: 0.1443 - accuracy: 0.3874 - auc: 0.5172
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1443 - accuracy: 0.3894 - auc: 0.5190 - val_loss: 0.1483 - val_accuracy: 0.9943 - val_auc: 0.0000e+00
## Epoch 55/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1461 - accuracy: 0.4062 - auc: 0.4187
##  26/176 [===>..........................] - ETA: 0s - loss: 0.1442 - accuracy: 0.3858 - auc: 0.5072
##  49/176 [=======>......................] - ETA: 0s - loss: 0.1437 - accuracy: 0.3776 - auc: 0.5142
##  72/176 [===========>..................] - ETA: 0s - loss: 0.1432 - accuracy: 0.3798 - auc: 0.5182
##  95/176 [===============>..............] - ETA: 0s - loss: 0.1428 - accuracy: 0.3770 - auc: 0.5190
## 119/176 [===================>..........] - ETA: 0s - loss: 0.1429 - accuracy: 0.3821 - auc: 0.5219
## 142/176 [=======================>......] - ETA: 0s - loss: 0.1436 - accuracy: 0.3849 - auc: 0.5143
## 166/176 [===========================>..] - ETA: 0s - loss: 0.1436 - accuracy: 0.3884 - auc: 0.5182
## 176/176 [==============================] - 0s 3ms/step - loss: 0.1436 - accuracy: 0.3898 - auc: 0.5178 - val_loss: 0.1593 - val_accuracy: 0.9886 - val_auc: 0.0000e+00
## Epoch 56/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1472 - accuracy: 0.4375 - auc: 0.4921
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1430 - accuracy: 0.3845 - auc: 0.5304
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1424 - accuracy: 0.3757 - auc: 0.5355
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1425 - accuracy: 0.3804 - auc: 0.5392
##  88/176 [==============>...............] - ETA: 0s - loss: 0.1429 - accuracy: 0.3817 - auc: 0.5344
## 111/176 [=================>............] - ETA: 0s - loss: 0.1432 - accuracy: 0.3778 - auc: 0.5243
## 134/176 [=====================>........] - ETA: 0s - loss: 0.1434 - accuracy: 0.3825 - auc: 0.5241
## 158/176 [=========================>....] - ETA: 0s - loss: 0.1436 - accuracy: 0.3881 - auc: 0.5249
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1435 - accuracy: 0.3893 - auc: 0.5292 - val_loss: 0.1855 - val_accuracy: 0.9800 - val_auc: 0.0000e+00
## Epoch 57/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1356 - accuracy: 0.3750 - auc: 0.6299
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1419 - accuracy: 0.3685 - auc: 0.5199
##  48/176 [=======>......................] - ETA: 0s - loss: 0.1428 - accuracy: 0.3887 - auc: 0.5473
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1425 - accuracy: 0.3842 - auc: 0.5365
##  96/176 [===============>..............] - ETA: 0s - loss: 0.1432 - accuracy: 0.3835 - auc: 0.5305
## 118/176 [===================>..........] - ETA: 0s - loss: 0.1434 - accuracy: 0.3848 - auc: 0.5292
## 141/176 [=======================>......] - ETA: 0s - loss: 0.1436 - accuracy: 0.3892 - auc: 0.5303
## 165/176 [===========================>..] - ETA: 0s - loss: 0.1433 - accuracy: 0.3864 - auc: 0.5292
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1433 - accuracy: 0.3898 - auc: 0.5309 - val_loss: 0.1404 - val_accuracy: 0.9943 - val_auc: 0.0000e+00
## Epoch 58/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1387 - accuracy: 0.4062 - auc: 0.7024
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1436 - accuracy: 0.3954 - auc: 0.5103
##  45/176 [======>.......................] - ETA: 0s - loss: 0.1437 - accuracy: 0.3882 - auc: 0.5046
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1437 - accuracy: 0.3949 - auc: 0.5252
##  91/176 [==============>...............] - ETA: 0s - loss: 0.1435 - accuracy: 0.3994 - auc: 0.5341
## 114/176 [==================>...........] - ETA: 0s - loss: 0.1439 - accuracy: 0.3942 - auc: 0.5290
## 136/176 [======================>.......] - ETA: 0s - loss: 0.1438 - accuracy: 0.3941 - auc: 0.5316
## 160/176 [==========================>...] - ETA: 0s - loss: 0.1439 - accuracy: 0.3918 - auc: 0.5272
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1441 - accuracy: 0.3918 - auc: 0.5245 - val_loss: 0.1491 - val_accuracy: 0.9936 - val_auc: 0.0000e+00
## Epoch 59/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1435 - accuracy: 0.3125 - auc: 0.5205
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1448 - accuracy: 0.3841 - auc: 0.5027
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1438 - accuracy: 0.3777 - auc: 0.5182
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1441 - accuracy: 0.3777 - auc: 0.5204
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1436 - accuracy: 0.3804 - auc: 0.5296
## 116/176 [==================>...........] - ETA: 0s - loss: 0.1437 - accuracy: 0.3874 - auc: 0.5278
## 140/176 [======================>.......] - ETA: 0s - loss: 0.1439 - accuracy: 0.3873 - auc: 0.5234
## 162/176 [==========================>...] - ETA: 0s - loss: 0.1436 - accuracy: 0.3914 - auc: 0.5300
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1438 - accuracy: 0.3914 - auc: 0.5271 - val_loss: 0.1740 - val_accuracy: 0.9850 - val_auc: 0.0000e+00
## Epoch 60/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1467 - accuracy: 0.5312 - auc: 0.6098
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1436 - accuracy: 0.3913 - auc: 0.5172
##  49/176 [=======>......................] - ETA: 0s - loss: 0.1430 - accuracy: 0.4018 - auc: 0.5239
##  72/176 [===========>..................] - ETA: 0s - loss: 0.1430 - accuracy: 0.3928 - auc: 0.5237
##  96/176 [===============>..............] - ETA: 0s - loss: 0.1434 - accuracy: 0.3942 - auc: 0.5212
## 119/176 [===================>..........] - ETA: 0s - loss: 0.1435 - accuracy: 0.3918 - auc: 0.5155
## 143/176 [=======================>......] - ETA: 0s - loss: 0.1435 - accuracy: 0.3899 - auc: 0.5136
## 166/176 [===========================>..] - ETA: 0s - loss: 0.1432 - accuracy: 0.3895 - auc: 0.5186
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1431 - accuracy: 0.3905 - auc: 0.5206 - val_loss: 0.1904 - val_accuracy: 0.9865 - val_auc: 0.0000e+00
## Epoch 61/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1501 - accuracy: 0.5000 - auc: 0.5820
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1426 - accuracy: 0.3913 - auc: 0.5343
##  48/176 [=======>......................] - ETA: 0s - loss: 0.1444 - accuracy: 0.3939 - auc: 0.5110
##  72/176 [===========>..................] - ETA: 0s - loss: 0.1447 - accuracy: 0.3958 - auc: 0.5171
##  95/176 [===============>..............] - ETA: 0s - loss: 0.1438 - accuracy: 0.3977 - auc: 0.5259
## 119/176 [===================>..........] - ETA: 0s - loss: 0.1438 - accuracy: 0.3939 - auc: 0.5198
## 142/176 [=======================>......] - ETA: 0s - loss: 0.1435 - accuracy: 0.3937 - auc: 0.5257
## 165/176 [===========================>..] - ETA: 0s - loss: 0.1433 - accuracy: 0.3915 - auc: 0.5282
## 176/176 [==============================] - 0s 3ms/step - loss: 0.1432 - accuracy: 0.3916 - auc: 0.5295 - val_loss: 0.1908 - val_accuracy: 0.9729 - val_auc: 0.0000e+00
## Epoch 62/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1385 - accuracy: 0.3125 - auc: 0.4928
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1426 - accuracy: 0.3841 - auc: 0.5006
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1422 - accuracy: 0.3798 - auc: 0.5219
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1417 - accuracy: 0.3754 - auc: 0.5310
##  93/176 [==============>...............] - ETA: 0s - loss: 0.1426 - accuracy: 0.3898 - auc: 0.5322
## 116/176 [==================>...........] - ETA: 0s - loss: 0.1433 - accuracy: 0.3936 - auc: 0.5335
## 139/176 [======================>.......] - ETA: 0s - loss: 0.1433 - accuracy: 0.3984 - auc: 0.5373
## 161/176 [==========================>...] - ETA: 0s - loss: 0.1432 - accuracy: 0.3944 - auc: 0.5376
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1433 - accuracy: 0.3943 - auc: 0.5349 - val_loss: 0.1562 - val_accuracy: 0.9914 - val_auc: 0.0000e+00
## Epoch 63/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1439 - accuracy: 0.3125 - auc: 0.6091
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1415 - accuracy: 0.3932 - auc: 0.5556
##  48/176 [=======>......................] - ETA: 0s - loss: 0.1421 - accuracy: 0.4023 - auc: 0.5499
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1423 - accuracy: 0.3970 - auc: 0.5395
##  94/176 [===============>..............] - ETA: 0s - loss: 0.1425 - accuracy: 0.3959 - auc: 0.5339
## 118/176 [===================>..........] - ETA: 0s - loss: 0.1425 - accuracy: 0.3935 - auc: 0.5343
## 142/176 [=======================>......] - ETA: 0s - loss: 0.1424 - accuracy: 0.3915 - auc: 0.5349
## 165/176 [===========================>..] - ETA: 0s - loss: 0.1426 - accuracy: 0.3886 - auc: 0.5330
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1428 - accuracy: 0.3907 - auc: 0.5315 - val_loss: 0.1675 - val_accuracy: 0.9857 - val_auc: 0.0000e+00
## Epoch 64/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1368 - accuracy: 0.3750 - auc: 0.5114
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1429 - accuracy: 0.3906 - auc: 0.5204
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1431 - accuracy: 0.3910 - auc: 0.5126
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1434 - accuracy: 0.3951 - auc: 0.5160
##  93/176 [==============>...............] - ETA: 0s - loss: 0.1437 - accuracy: 0.3931 - auc: 0.5166
## 114/176 [==================>...........] - ETA: 0s - loss: 0.1436 - accuracy: 0.3947 - auc: 0.5192
## 137/176 [======================>.......] - ETA: 0s - loss: 0.1435 - accuracy: 0.3932 - auc: 0.5185
## 160/176 [==========================>...] - ETA: 0s - loss: 0.1433 - accuracy: 0.3906 - auc: 0.5180
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1433 - accuracy: 0.3905 - auc: 0.5197 - val_loss: 0.1649 - val_accuracy: 0.9872 - val_auc: 0.0000e+00
## Epoch 65/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1357 - accuracy: 0.3125 - auc: 0.6589
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1413 - accuracy: 0.3762 - auc: 0.5548
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1427 - accuracy: 0.3883 - auc: 0.5299
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1422 - accuracy: 0.3834 - auc: 0.5333
##  95/176 [===============>..............] - ETA: 0s - loss: 0.1424 - accuracy: 0.3928 - auc: 0.5393
## 118/176 [===================>..........] - ETA: 0s - loss: 0.1429 - accuracy: 0.3927 - auc: 0.5349
## 141/176 [=======================>......] - ETA: 0s - loss: 0.1427 - accuracy: 0.3961 - auc: 0.5360
## 164/176 [==========================>...] - ETA: 0s - loss: 0.1427 - accuracy: 0.3931 - auc: 0.5353
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1428 - accuracy: 0.3946 - auc: 0.5334 - val_loss: 0.1624 - val_accuracy: 0.9886 - val_auc: 0.0000e+00
## Epoch 66/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1433 - accuracy: 0.3438 - auc: 0.4935
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1439 - accuracy: 0.4325 - auc: 0.5128
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1439 - accuracy: 0.4082 - auc: 0.5273
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1434 - accuracy: 0.3944 - auc: 0.5424
##  94/176 [===============>..............] - ETA: 0s - loss: 0.1430 - accuracy: 0.3880 - auc: 0.5421
## 117/176 [==================>...........] - ETA: 0s - loss: 0.1431 - accuracy: 0.3918 - auc: 0.5357
## 136/176 [======================>.......] - ETA: 0s - loss: 0.1427 - accuracy: 0.3883 - auc: 0.5396
## 160/176 [==========================>...] - ETA: 0s - loss: 0.1432 - accuracy: 0.3914 - auc: 0.5331
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1432 - accuracy: 0.3930 - auc: 0.5346 - val_loss: 0.1487 - val_accuracy: 0.9922 - val_auc: 0.0000e+00
## Epoch 67/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1461 - accuracy: 0.3750 - auc: 0.5688
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1406 - accuracy: 0.3562 - auc: 0.5470
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1426 - accuracy: 0.3825 - auc: 0.5254
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1424 - accuracy: 0.3827 - auc: 0.5293
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1430 - accuracy: 0.3930 - auc: 0.5347
## 116/176 [==================>...........] - ETA: 0s - loss: 0.1434 - accuracy: 0.3949 - auc: 0.5312
## 139/176 [======================>.......] - ETA: 0s - loss: 0.1432 - accuracy: 0.3946 - auc: 0.5302
## 159/176 [==========================>...] - ETA: 0s - loss: 0.1432 - accuracy: 0.3947 - auc: 0.5294
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1431 - accuracy: 0.3925 - auc: 0.5287 - val_loss: 0.1976 - val_accuracy: 0.9779 - val_auc: 0.0000e+00
## Epoch 68/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1363 - accuracy: 0.3438 - auc: 0.4541
##  22/176 [==>...........................] - ETA: 0s - loss: 0.1409 - accuracy: 0.3651 - auc: 0.5356
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1412 - accuracy: 0.3906 - auc: 0.5427
##  68/176 [==========>...................] - ETA: 0s - loss: 0.1415 - accuracy: 0.3869 - auc: 0.5313
##  91/176 [==============>...............] - ETA: 0s - loss: 0.1424 - accuracy: 0.3977 - auc: 0.5430
## 113/176 [==================>...........] - ETA: 0s - loss: 0.1425 - accuracy: 0.4029 - auc: 0.5403
## 136/176 [======================>.......] - ETA: 0s - loss: 0.1428 - accuracy: 0.4007 - auc: 0.5344
## 158/176 [=========================>....] - ETA: 0s - loss: 0.1426 - accuracy: 0.3973 - auc: 0.5361
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1428 - accuracy: 0.3964 - auc: 0.5337 - val_loss: 0.1666 - val_accuracy: 0.9893 - val_auc: 0.0000e+00
## Epoch 69/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1442 - accuracy: 0.3750 - auc: 0.3918
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1436 - accuracy: 0.3815 - auc: 0.5037
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1435 - accuracy: 0.3823 - auc: 0.5170
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1435 - accuracy: 0.3857 - auc: 0.5264
##  93/176 [==============>...............] - ETA: 0s - loss: 0.1438 - accuracy: 0.3827 - auc: 0.5205
## 114/176 [==================>...........] - ETA: 0s - loss: 0.1437 - accuracy: 0.3860 - auc: 0.5273
## 138/176 [======================>.......] - ETA: 0s - loss: 0.1435 - accuracy: 0.3904 - auc: 0.5334
## 159/176 [==========================>...] - ETA: 0s - loss: 0.1435 - accuracy: 0.3915 - auc: 0.5342
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1433 - accuracy: 0.3896 - auc: 0.5355 - val_loss: 0.1900 - val_accuracy: 0.9815 - val_auc: 0.0000e+00
## Epoch 70/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1448 - accuracy: 0.3438 - auc: 0.4136
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1445 - accuracy: 0.4180 - auc: 0.5121
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1439 - accuracy: 0.4009 - auc: 0.5185
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1435 - accuracy: 0.3938 - auc: 0.5287
##  86/176 [=============>................] - ETA: 0s - loss: 0.1432 - accuracy: 0.3943 - auc: 0.5323
## 109/176 [=================>............] - ETA: 0s - loss: 0.1429 - accuracy: 0.3879 - auc: 0.5340
## 132/176 [=====================>........] - ETA: 0s - loss: 0.1434 - accuracy: 0.3973 - auc: 0.5284
## 155/176 [=========================>....] - ETA: 0s - loss: 0.1438 - accuracy: 0.3958 - auc: 0.5220
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1434 - accuracy: 0.3927 - auc: 0.5240 - val_loss: 0.1985 - val_accuracy: 0.9765 - val_auc: 0.0000e+00
## Epoch 71/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1318 - accuracy: 0.3438 - auc: 0.6763
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1446 - accuracy: 0.4130 - auc: 0.5218
##  45/176 [======>.......................] - ETA: 0s - loss: 0.1437 - accuracy: 0.3910 - auc: 0.5286
##  67/176 [==========>...................] - ETA: 0s - loss: 0.1435 - accuracy: 0.3913 - auc: 0.5313
##  90/176 [==============>...............] - ETA: 0s - loss: 0.1434 - accuracy: 0.3934 - auc: 0.5314
## 113/176 [==================>...........] - ETA: 0s - loss: 0.1430 - accuracy: 0.3908 - auc: 0.5315
## 136/176 [======================>.......] - ETA: 0s - loss: 0.1430 - accuracy: 0.3874 - auc: 0.5253
## 160/176 [==========================>...] - ETA: 0s - loss: 0.1430 - accuracy: 0.3889 - auc: 0.5249
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1430 - accuracy: 0.3910 - auc: 0.5243 - val_loss: 0.1731 - val_accuracy: 0.9850 - val_auc: 0.0000e+00
## Epoch 72/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1390 - accuracy: 0.2812 - auc: 0.4922
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1440 - accuracy: 0.3700 - auc: 0.5177
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1435 - accuracy: 0.3803 - auc: 0.5203
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1435 - accuracy: 0.3906 - auc: 0.5216
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1435 - accuracy: 0.3889 - auc: 0.5186
## 114/176 [==================>...........] - ETA: 0s - loss: 0.1436 - accuracy: 0.3854 - auc: 0.5203
## 137/176 [======================>.......] - ETA: 0s - loss: 0.1437 - accuracy: 0.3875 - auc: 0.5194
## 156/176 [=========================>....] - ETA: 0s - loss: 0.1437 - accuracy: 0.3882 - auc: 0.5199
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1435 - accuracy: 0.3882 - auc: 0.5226 - val_loss: 0.1755 - val_accuracy: 0.9879 - val_auc: 0.0000e+00
## Epoch 73/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1523 - accuracy: 0.5312 - auc: 0.4235
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1430 - accuracy: 0.3958 - auc: 0.5046
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1434 - accuracy: 0.3949 - auc: 0.5030
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1430 - accuracy: 0.4013 - auc: 0.5177
##  93/176 [==============>...............] - ETA: 0s - loss: 0.1428 - accuracy: 0.3958 - auc: 0.5229
## 116/176 [==================>...........] - ETA: 0s - loss: 0.1432 - accuracy: 0.3939 - auc: 0.5140
## 138/176 [======================>.......] - ETA: 0s - loss: 0.1430 - accuracy: 0.3931 - auc: 0.5152
## 161/176 [==========================>...] - ETA: 0s - loss: 0.1428 - accuracy: 0.3905 - auc: 0.5171
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1429 - accuracy: 0.3928 - auc: 0.5188 - val_loss: 0.1693 - val_accuracy: 0.9857 - val_auc: 0.0000e+00
## Epoch 74/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1351 - accuracy: 0.3438 - auc: 0.5700
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1412 - accuracy: 0.4062 - auc: 0.5627
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1424 - accuracy: 0.3910 - auc: 0.5468
##  68/176 [==========>...................] - ETA: 0s - loss: 0.1420 - accuracy: 0.3869 - auc: 0.5468
##  91/176 [==============>...............] - ETA: 0s - loss: 0.1424 - accuracy: 0.3922 - auc: 0.5468
## 113/176 [==================>...........] - ETA: 0s - loss: 0.1423 - accuracy: 0.3886 - auc: 0.5426
## 135/176 [======================>.......] - ETA: 0s - loss: 0.1425 - accuracy: 0.3877 - auc: 0.5372
## 159/176 [==========================>...] - ETA: 0s - loss: 0.1423 - accuracy: 0.3905 - auc: 0.5389
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1424 - accuracy: 0.3927 - auc: 0.5364 - val_loss: 0.1646 - val_accuracy: 0.9865 - val_auc: 0.0000e+00
## Epoch 75/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1303 - accuracy: 0.2500 - auc: 0.7829
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1422 - accuracy: 0.3828 - auc: 0.5251
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1435 - accuracy: 0.3790 - auc: 0.4982
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1429 - accuracy: 0.3873 - auc: 0.5142
##  91/176 [==============>...............] - ETA: 0s - loss: 0.1429 - accuracy: 0.3908 - auc: 0.5170
## 114/176 [==================>...........] - ETA: 0s - loss: 0.1432 - accuracy: 0.3887 - auc: 0.5122
## 138/176 [======================>.......] - ETA: 0s - loss: 0.1431 - accuracy: 0.3886 - auc: 0.5134
## 160/176 [==========================>...] - ETA: 0s - loss: 0.1433 - accuracy: 0.3896 - auc: 0.5135
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1433 - accuracy: 0.3916 - auc: 0.5173 - val_loss: 0.1682 - val_accuracy: 0.9872 - val_auc: 0.0000e+00
## Epoch 76/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1383 - accuracy: 0.3125 - auc: 0.4783
##  22/176 [==>...........................] - ETA: 0s - loss: 0.1406 - accuracy: 0.3565 - auc: 0.5451
##  45/176 [======>.......................] - ETA: 0s - loss: 0.1417 - accuracy: 0.3847 - auc: 0.5454
##  67/176 [==========>...................] - ETA: 0s - loss: 0.1424 - accuracy: 0.3867 - auc: 0.5383
##  91/176 [==============>...............] - ETA: 0s - loss: 0.1429 - accuracy: 0.3922 - auc: 0.5319
## 114/176 [==================>...........] - ETA: 0s - loss: 0.1430 - accuracy: 0.3914 - auc: 0.5303
## 137/176 [======================>.......] - ETA: 0s - loss: 0.1427 - accuracy: 0.3903 - auc: 0.5323
## 161/176 [==========================>...] - ETA: 0s - loss: 0.1423 - accuracy: 0.3890 - auc: 0.5353
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1424 - accuracy: 0.3898 - auc: 0.5364 - val_loss: 0.1850 - val_accuracy: 0.9808 - val_auc: 0.0000e+00
## Epoch 77/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1438 - accuracy: 0.4375 - auc: 0.4960
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1437 - accuracy: 0.3711 - auc: 0.4963
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1432 - accuracy: 0.3823 - auc: 0.5176
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1431 - accuracy: 0.3808 - auc: 0.5169
##  93/176 [==============>...............] - ETA: 0s - loss: 0.1433 - accuracy: 0.3861 - auc: 0.5248
## 115/176 [==================>...........] - ETA: 0s - loss: 0.1431 - accuracy: 0.3929 - auc: 0.5348
## 138/176 [======================>.......] - ETA: 0s - loss: 0.1431 - accuracy: 0.3897 - auc: 0.5328
## 162/176 [==========================>...] - ETA: 0s - loss: 0.1433 - accuracy: 0.3912 - auc: 0.5303
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1430 - accuracy: 0.3905 - auc: 0.5337 - val_loss: 0.2125 - val_accuracy: 0.9629 - val_auc: 0.0000e+00
## Epoch 78/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1436 - accuracy: 0.4062 - auc: 0.4688
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1419 - accuracy: 0.3958 - auc: 0.5326
##  45/176 [======>.......................] - ETA: 0s - loss: 0.1429 - accuracy: 0.4104 - auc: 0.5388
##  68/176 [==========>...................] - ETA: 0s - loss: 0.1427 - accuracy: 0.4081 - auc: 0.5355
##  89/176 [==============>...............] - ETA: 0s - loss: 0.1424 - accuracy: 0.4048 - auc: 0.5391
## 112/176 [==================>...........] - ETA: 0s - loss: 0.1423 - accuracy: 0.4004 - auc: 0.5392
## 136/176 [======================>.......] - ETA: 0s - loss: 0.1423 - accuracy: 0.4023 - auc: 0.5423
## 161/176 [==========================>...] - ETA: 0s - loss: 0.1422 - accuracy: 0.3985 - auc: 0.5421
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1423 - accuracy: 0.3969 - auc: 0.5405 - val_loss: 0.1971 - val_accuracy: 0.9665 - val_auc: 0.0000e+00
## Epoch 79/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1383 - accuracy: 0.3750 - auc: 0.5390
##  22/176 [==>...........................] - ETA: 0s - loss: 0.1428 - accuracy: 0.3707 - auc: 0.5148
##  45/176 [======>.......................] - ETA: 0s - loss: 0.1420 - accuracy: 0.3854 - auc: 0.5369
##  67/176 [==========>...................] - ETA: 0s - loss: 0.1424 - accuracy: 0.3979 - auc: 0.5423
##  90/176 [==============>...............] - ETA: 0s - loss: 0.1422 - accuracy: 0.3882 - auc: 0.5426
## 115/176 [==================>...........] - ETA: 0s - loss: 0.1425 - accuracy: 0.3891 - auc: 0.5351
## 137/176 [======================>.......] - ETA: 0s - loss: 0.1426 - accuracy: 0.3930 - auc: 0.5359
## 155/176 [=========================>....] - ETA: 0s - loss: 0.1427 - accuracy: 0.3901 - auc: 0.5343
## 172/176 [============================>.] - ETA: 0s - loss: 0.1428 - accuracy: 0.3937 - auc: 0.5335
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1428 - accuracy: 0.3937 - auc: 0.5328 - val_loss: 0.1592 - val_accuracy: 0.9886 - val_auc: 0.0000e+00
## Epoch 80/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1401 - accuracy: 0.4688 - auc: 0.5873
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1430 - accuracy: 0.3776 - auc: 0.5156
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1415 - accuracy: 0.3811 - auc: 0.5474
##  67/176 [==========>...................] - ETA: 0s - loss: 0.1424 - accuracy: 0.3806 - auc: 0.5293
##  90/176 [==============>...............] - ETA: 0s - loss: 0.1421 - accuracy: 0.3868 - auc: 0.5409
## 113/176 [==================>...........] - ETA: 0s - loss: 0.1421 - accuracy: 0.3850 - auc: 0.5376
## 136/176 [======================>.......] - ETA: 0s - loss: 0.1420 - accuracy: 0.3853 - auc: 0.5391
## 159/176 [==========================>...] - ETA: 0s - loss: 0.1421 - accuracy: 0.3884 - auc: 0.5400
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1423 - accuracy: 0.3905 - auc: 0.5361 - val_loss: 0.1683 - val_accuracy: 0.9865 - val_auc: 0.0000e+00
## Epoch 81/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1415 - accuracy: 0.4062 - auc: 0.5750
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1424 - accuracy: 0.3945 - auc: 0.5390
##  48/176 [=======>......................] - ETA: 0s - loss: 0.1425 - accuracy: 0.3841 - auc: 0.5351
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1428 - accuracy: 0.3930 - auc: 0.5314
##  94/176 [===============>..............] - ETA: 0s - loss: 0.1431 - accuracy: 0.3933 - auc: 0.5313
## 117/176 [==================>...........] - ETA: 0s - loss: 0.1427 - accuracy: 0.3870 - auc: 0.5346
## 142/176 [=======================>......] - ETA: 0s - loss: 0.1425 - accuracy: 0.3895 - auc: 0.5349
## 165/176 [===========================>..] - ETA: 0s - loss: 0.1424 - accuracy: 0.3919 - auc: 0.5372
## 176/176 [==============================] - 0s 3ms/step - loss: 0.1423 - accuracy: 0.3925 - auc: 0.5385 - val_loss: 0.1781 - val_accuracy: 0.9779 - val_auc: 0.0000e+00
## Epoch 82/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1451 - accuracy: 0.4688 - auc: 0.5258
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1431 - accuracy: 0.3900 - auc: 0.5011
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1430 - accuracy: 0.3916 - auc: 0.5103
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1431 - accuracy: 0.3967 - auc: 0.5142
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1430 - accuracy: 0.3916 - auc: 0.5282
## 114/176 [==================>...........] - ETA: 0s - loss: 0.1425 - accuracy: 0.3917 - auc: 0.5333
## 137/176 [======================>.......] - ETA: 0s - loss: 0.1425 - accuracy: 0.3921 - auc: 0.5372
## 161/176 [==========================>...] - ETA: 0s - loss: 0.1426 - accuracy: 0.3915 - auc: 0.5362
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1426 - accuracy: 0.3923 - auc: 0.5352 - val_loss: 0.1818 - val_accuracy: 0.9872 - val_auc: 0.0000e+00
## Epoch 83/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1487 - accuracy: 0.4375 - auc: 0.4444
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1423 - accuracy: 0.3997 - auc: 0.5515
##  45/176 [======>.......................] - ETA: 0s - loss: 0.1422 - accuracy: 0.4097 - auc: 0.5584
##  67/176 [==========>...................] - ETA: 0s - loss: 0.1421 - accuracy: 0.3988 - auc: 0.5506
##  90/176 [==============>...............] - ETA: 0s - loss: 0.1423 - accuracy: 0.3917 - auc: 0.5432
## 114/176 [==================>...........] - ETA: 0s - loss: 0.1426 - accuracy: 0.3947 - auc: 0.5399
## 136/176 [======================>.......] - ETA: 0s - loss: 0.1427 - accuracy: 0.3922 - auc: 0.5345
## 159/176 [==========================>...] - ETA: 0s - loss: 0.1429 - accuracy: 0.3970 - auc: 0.5330
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1426 - accuracy: 0.3930 - auc: 0.5316 - val_loss: 0.1991 - val_accuracy: 0.9722 - val_auc: 0.0000e+00
## Epoch 84/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1347 - accuracy: 0.3438 - auc: 0.5682
##  22/176 [==>...........................] - ETA: 0s - loss: 0.1396 - accuracy: 0.3849 - auc: 0.5676
##  44/176 [======>.......................] - ETA: 0s - loss: 0.1408 - accuracy: 0.3906 - auc: 0.5593
##  67/176 [==========>...................] - ETA: 0s - loss: 0.1411 - accuracy: 0.3857 - auc: 0.5504
##  89/176 [==============>...............] - ETA: 0s - loss: 0.1415 - accuracy: 0.3862 - auc: 0.5402
## 112/176 [==================>...........] - ETA: 0s - loss: 0.1417 - accuracy: 0.3876 - auc: 0.5387
## 135/176 [======================>.......] - ETA: 0s - loss: 0.1421 - accuracy: 0.3891 - auc: 0.5386
## 158/176 [=========================>....] - ETA: 0s - loss: 0.1419 - accuracy: 0.3930 - auc: 0.5459
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1421 - accuracy: 0.3927 - auc: 0.5411 - val_loss: 0.1738 - val_accuracy: 0.9808 - val_auc: 0.0000e+00
## Epoch 85/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1404 - accuracy: 0.3438 - auc: 0.5303
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1420 - accuracy: 0.4025 - auc: 0.5526
##  48/176 [=======>......................] - ETA: 0s - loss: 0.1426 - accuracy: 0.3841 - auc: 0.5346
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1424 - accuracy: 0.3825 - auc: 0.5350
##  95/176 [===============>..............] - ETA: 0s - loss: 0.1423 - accuracy: 0.3812 - auc: 0.5367
## 119/176 [===================>..........] - ETA: 0s - loss: 0.1424 - accuracy: 0.3842 - auc: 0.5346
## 143/176 [=======================>......] - ETA: 0s - loss: 0.1425 - accuracy: 0.3864 - auc: 0.5338
## 168/176 [===========================>..] - ETA: 0s - loss: 0.1426 - accuracy: 0.3903 - auc: 0.5334
## 176/176 [==============================] - 0s 3ms/step - loss: 0.1425 - accuracy: 0.3900 - auc: 0.5341 - val_loss: 0.1858 - val_accuracy: 0.9786 - val_auc: 0.0000e+00
## Epoch 86/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1360 - accuracy: 0.3125 - auc: 0.5411
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1418 - accuracy: 0.4103 - auc: 0.5571
##  43/176 [======>.......................] - ETA: 0s - loss: 0.1417 - accuracy: 0.3903 - auc: 0.5248
##  66/176 [==========>...................] - ETA: 0s - loss: 0.1419 - accuracy: 0.3925 - auc: 0.5345
##  88/176 [==============>...............] - ETA: 0s - loss: 0.1418 - accuracy: 0.3917 - auc: 0.5405
## 111/176 [=================>............] - ETA: 0s - loss: 0.1417 - accuracy: 0.3927 - auc: 0.5429
## 134/176 [=====================>........] - ETA: 0s - loss: 0.1416 - accuracy: 0.3939 - auc: 0.5428
## 157/176 [=========================>....] - ETA: 0s - loss: 0.1414 - accuracy: 0.3905 - auc: 0.5454
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1419 - accuracy: 0.3950 - auc: 0.5422 - val_loss: 0.1584 - val_accuracy: 0.9843 - val_auc: 0.0000e+00
## Epoch 87/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1316 - accuracy: 0.5000 - auc: 0.7471
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1415 - accuracy: 0.4325 - auc: 0.5611
##  49/176 [=======>......................] - ETA: 0s - loss: 0.1415 - accuracy: 0.4107 - auc: 0.5646
##  73/176 [===========>..................] - ETA: 0s - loss: 0.1419 - accuracy: 0.4101 - auc: 0.5570
##  95/176 [===============>..............] - ETA: 0s - loss: 0.1420 - accuracy: 0.4010 - auc: 0.5546
## 118/176 [===================>..........] - ETA: 0s - loss: 0.1422 - accuracy: 0.3983 - auc: 0.5477
## 143/176 [=======================>......] - ETA: 0s - loss: 0.1422 - accuracy: 0.3990 - auc: 0.5480
## 166/176 [===========================>..] - ETA: 0s - loss: 0.1420 - accuracy: 0.3959 - auc: 0.5462
## 176/176 [==============================] - 0s 3ms/step - loss: 0.1420 - accuracy: 0.3953 - auc: 0.5457 - val_loss: 0.1846 - val_accuracy: 0.9793 - val_auc: 0.0000e+00
## Epoch 88/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1396 - accuracy: 0.4375 - auc: 0.7186
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1438 - accuracy: 0.4141 - auc: 0.5214
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1433 - accuracy: 0.4169 - auc: 0.5231
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1422 - accuracy: 0.4103 - auc: 0.5374
##  94/176 [===============>..............] - ETA: 0s - loss: 0.1423 - accuracy: 0.4019 - auc: 0.5372
## 117/176 [==================>...........] - ETA: 0s - loss: 0.1420 - accuracy: 0.4001 - auc: 0.5431
## 140/176 [======================>.......] - ETA: 0s - loss: 0.1419 - accuracy: 0.3951 - auc: 0.5440
## 163/176 [==========================>...] - ETA: 0s - loss: 0.1419 - accuracy: 0.3913 - auc: 0.5441
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1419 - accuracy: 0.3916 - auc: 0.5434 - val_loss: 0.1787 - val_accuracy: 0.9808 - val_auc: 0.0000e+00
## Epoch 89/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1433 - accuracy: 0.3750 - auc: 0.4625
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1423 - accuracy: 0.3997 - auc: 0.5480
##  45/176 [======>.......................] - ETA: 0s - loss: 0.1415 - accuracy: 0.3896 - auc: 0.5494
##  68/176 [==========>...................] - ETA: 0s - loss: 0.1419 - accuracy: 0.3934 - auc: 0.5459
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1417 - accuracy: 0.3944 - auc: 0.5477
## 115/176 [==================>...........] - ETA: 0s - loss: 0.1421 - accuracy: 0.3946 - auc: 0.5425
## 139/176 [======================>.......] - ETA: 0s - loss: 0.1421 - accuracy: 0.3894 - auc: 0.5409
## 163/176 [==========================>...] - ETA: 0s - loss: 0.1420 - accuracy: 0.3878 - auc: 0.5416
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1421 - accuracy: 0.3891 - auc: 0.5407 - val_loss: 0.1728 - val_accuracy: 0.9857 - val_auc: 0.0000e+00
## Epoch 90/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1474 - accuracy: 0.5000 - auc: 0.5000
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1415 - accuracy: 0.3859 - auc: 0.5561
##  45/176 [======>.......................] - ETA: 0s - loss: 0.1414 - accuracy: 0.3931 - auc: 0.5633
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1420 - accuracy: 0.3936 - auc: 0.5417
##  91/176 [==============>...............] - ETA: 0s - loss: 0.1420 - accuracy: 0.3929 - auc: 0.5424
## 114/176 [==================>...........] - ETA: 0s - loss: 0.1420 - accuracy: 0.3923 - auc: 0.5382
## 137/176 [======================>.......] - ETA: 0s - loss: 0.1420 - accuracy: 0.3912 - auc: 0.5350
## 162/176 [==========================>...] - ETA: 0s - loss: 0.1421 - accuracy: 0.3933 - auc: 0.5352
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1419 - accuracy: 0.3925 - auc: 0.5376 - val_loss: 0.1864 - val_accuracy: 0.9779 - val_auc: 0.0000e+00
## Epoch 91/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1428 - accuracy: 0.4062 - auc: 0.6448
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1413 - accuracy: 0.3738 - auc: 0.5405
##  49/176 [=======>......................] - ETA: 0s - loss: 0.1417 - accuracy: 0.3884 - auc: 0.5488
##  72/176 [===========>..................] - ETA: 0s - loss: 0.1423 - accuracy: 0.3950 - auc: 0.5427
##  96/176 [===============>..............] - ETA: 0s - loss: 0.1419 - accuracy: 0.3926 - auc: 0.5455
## 120/176 [===================>..........] - ETA: 0s - loss: 0.1420 - accuracy: 0.3935 - auc: 0.5448
## 143/176 [=======================>......] - ETA: 0s - loss: 0.1421 - accuracy: 0.3916 - auc: 0.5422
## 167/176 [===========================>..] - ETA: 0s - loss: 0.1420 - accuracy: 0.3915 - auc: 0.5395
## 176/176 [==============================] - 0s 3ms/step - loss: 0.1421 - accuracy: 0.3903 - auc: 0.5362 - val_loss: 0.1778 - val_accuracy: 0.9772 - val_auc: 0.0000e+00
## Epoch 92/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1399 - accuracy: 0.5000 - auc: 0.6052
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1406 - accuracy: 0.3906 - auc: 0.5279
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1403 - accuracy: 0.3810 - auc: 0.5394
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1400 - accuracy: 0.3835 - auc: 0.5516
##  93/176 [==============>...............] - ETA: 0s - loss: 0.1406 - accuracy: 0.3871 - auc: 0.5511
## 115/176 [==================>...........] - ETA: 0s - loss: 0.1407 - accuracy: 0.3848 - auc: 0.5497
## 138/176 [======================>.......] - ETA: 0s - loss: 0.1411 - accuracy: 0.3906 - auc: 0.5486
## 161/176 [==========================>...] - ETA: 0s - loss: 0.1414 - accuracy: 0.3936 - auc: 0.5488
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1417 - accuracy: 0.3957 - auc: 0.5466 - val_loss: 0.1668 - val_accuracy: 0.9793 - val_auc: 0.0000e+00
## Epoch 93/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1388 - accuracy: 0.3125 - auc: 0.5705
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1413 - accuracy: 0.4013 - auc: 0.5323
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1408 - accuracy: 0.4062 - auc: 0.5575
##  71/176 [===========>..................] - ETA: 0s - loss: 0.1416 - accuracy: 0.4032 - auc: 0.5477
##  94/176 [===============>..............] - ETA: 0s - loss: 0.1419 - accuracy: 0.4019 - auc: 0.5434
## 117/176 [==================>...........] - ETA: 0s - loss: 0.1423 - accuracy: 0.3993 - auc: 0.5399
## 141/176 [=======================>......] - ETA: 0s - loss: 0.1421 - accuracy: 0.3967 - auc: 0.5406
## 165/176 [===========================>..] - ETA: 0s - loss: 0.1418 - accuracy: 0.3949 - auc: 0.5458
## 176/176 [==============================] - 0s 3ms/step - loss: 0.1418 - accuracy: 0.3934 - auc: 0.5448 - val_loss: 0.1927 - val_accuracy: 0.9736 - val_auc: 0.0000e+00
## Epoch 94/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1527 - accuracy: 0.4688 - auc: 0.4235
##  24/176 [===>..........................] - ETA: 0s - loss: 0.1397 - accuracy: 0.3984 - auc: 0.5823
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1404 - accuracy: 0.4130 - auc: 0.5724
##  68/176 [==========>...................] - ETA: 0s - loss: 0.1410 - accuracy: 0.4044 - auc: 0.5584
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1412 - accuracy: 0.3954 - auc: 0.5552
## 115/176 [==================>...........] - ETA: 0s - loss: 0.1414 - accuracy: 0.3870 - auc: 0.5450
## 139/176 [======================>.......] - ETA: 0s - loss: 0.1419 - accuracy: 0.3892 - auc: 0.5397
## 163/176 [==========================>...] - ETA: 0s - loss: 0.1419 - accuracy: 0.3913 - auc: 0.5415
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1419 - accuracy: 0.3916 - auc: 0.5437 - val_loss: 0.1799 - val_accuracy: 0.9751 - val_auc: 0.0000e+00
## Epoch 95/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1327 - accuracy: 0.3750 - auc: 0.7227
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1430 - accuracy: 0.4158 - auc: 0.5249
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1429 - accuracy: 0.4082 - auc: 0.5242
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1422 - accuracy: 0.4062 - auc: 0.5371
##  89/176 [==============>...............] - ETA: 0s - loss: 0.1420 - accuracy: 0.4080 - auc: 0.5385
## 110/176 [=================>............] - ETA: 0s - loss: 0.1418 - accuracy: 0.4034 - auc: 0.5419
## 134/176 [=====================>........] - ETA: 0s - loss: 0.1420 - accuracy: 0.4030 - auc: 0.5400
## 156/176 [=========================>....] - ETA: 0s - loss: 0.1420 - accuracy: 0.4008 - auc: 0.5410
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1419 - accuracy: 0.3978 - auc: 0.5384 - val_loss: 0.2062 - val_accuracy: 0.9530 - val_auc: 0.0000e+00
## Epoch 96/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1439 - accuracy: 0.5000 - auc: 0.5385
##  25/176 [===>..........................] - ETA: 0s - loss: 0.1416 - accuracy: 0.4075 - auc: 0.5309
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1408 - accuracy: 0.3995 - auc: 0.5500
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1407 - accuracy: 0.3982 - auc: 0.5617
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1412 - accuracy: 0.4029 - auc: 0.5605
## 116/176 [==================>...........] - ETA: 0s - loss: 0.1413 - accuracy: 0.3979 - auc: 0.5542
## 138/176 [======================>.......] - ETA: 0s - loss: 0.1415 - accuracy: 0.3986 - auc: 0.5534
## 162/176 [==========================>...] - ETA: 0s - loss: 0.1415 - accuracy: 0.3987 - auc: 0.5560
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1416 - accuracy: 0.3964 - auc: 0.5542 - val_loss: 0.1774 - val_accuracy: 0.9729 - val_auc: 0.0000e+00
## Epoch 97/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1406 - accuracy: 0.2500 - auc: 0.6449
##  22/176 [==>...........................] - ETA: 0s - loss: 0.1411 - accuracy: 0.4219 - auc: 0.5861
##  46/176 [======>.......................] - ETA: 0s - loss: 0.1411 - accuracy: 0.4015 - auc: 0.5627
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1413 - accuracy: 0.4004 - auc: 0.5512
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1413 - accuracy: 0.3984 - auc: 0.5538
## 116/176 [==================>...........] - ETA: 0s - loss: 0.1412 - accuracy: 0.3971 - auc: 0.5573
## 138/176 [======================>.......] - ETA: 0s - loss: 0.1414 - accuracy: 0.4001 - auc: 0.5547
## 162/176 [==========================>...] - ETA: 0s - loss: 0.1413 - accuracy: 0.3972 - auc: 0.5552
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1414 - accuracy: 0.3966 - auc: 0.5546 - val_loss: 0.1829 - val_accuracy: 0.9694 - val_auc: 0.0000e+00
## Epoch 98/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1372 - accuracy: 0.3438 - auc: 0.6250
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1429 - accuracy: 0.4090 - auc: 0.5284
##  45/176 [======>.......................] - ETA: 0s - loss: 0.1420 - accuracy: 0.3979 - auc: 0.5402
##  66/176 [==========>...................] - ETA: 0s - loss: 0.1426 - accuracy: 0.4058 - auc: 0.5415
##  89/176 [==============>...............] - ETA: 0s - loss: 0.1423 - accuracy: 0.4073 - auc: 0.5451
## 111/176 [=================>............] - ETA: 0s - loss: 0.1421 - accuracy: 0.4040 - auc: 0.5460
## 131/176 [=====================>........] - ETA: 0s - loss: 0.1421 - accuracy: 0.4034 - auc: 0.5456
## 148/176 [========================>.....] - ETA: 0s - loss: 0.1422 - accuracy: 0.3999 - auc: 0.5458
## 169/176 [===========================>..] - ETA: 0s - loss: 0.1421 - accuracy: 0.3952 - auc: 0.5462
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1421 - accuracy: 0.3935 - auc: 0.5467 - val_loss: 0.1939 - val_accuracy: 0.9701 - val_auc: 0.0000e+00
## Epoch 99/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1430 - accuracy: 0.5000 - auc: 0.6353
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1434 - accuracy: 0.4171 - auc: 0.5030
##  47/176 [=======>......................] - ETA: 0s - loss: 0.1412 - accuracy: 0.4009 - auc: 0.5368
##  70/176 [==========>...................] - ETA: 0s - loss: 0.1415 - accuracy: 0.4000 - auc: 0.5397
##  91/176 [==============>...............] - ETA: 0s - loss: 0.1415 - accuracy: 0.3956 - auc: 0.5392
## 114/176 [==================>...........] - ETA: 0s - loss: 0.1413 - accuracy: 0.3967 - auc: 0.5497
## 136/176 [======================>.......] - ETA: 0s - loss: 0.1415 - accuracy: 0.3982 - auc: 0.5542
## 159/176 [==========================>...] - ETA: 0s - loss: 0.1417 - accuracy: 0.3949 - auc: 0.5500
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1417 - accuracy: 0.3943 - auc: 0.5491 - val_loss: 0.1846 - val_accuracy: 0.9722 - val_auc: 0.0000e+00
## Epoch 100/100
## 
##   1/176 [..............................] - ETA: 0s - loss: 0.1393 - accuracy: 0.3438 - auc: 0.5996
##  23/176 [==>...........................] - ETA: 0s - loss: 0.1421 - accuracy: 0.4198 - auc: 0.5722
##  45/176 [======>.......................] - ETA: 0s - loss: 0.1410 - accuracy: 0.4076 - auc: 0.5886
##  69/176 [==========>...................] - ETA: 0s - loss: 0.1408 - accuracy: 0.3958 - auc: 0.5811
##  92/176 [==============>...............] - ETA: 0s - loss: 0.1415 - accuracy: 0.3995 - auc: 0.5647
## 113/176 [==================>...........] - ETA: 0s - loss: 0.1416 - accuracy: 0.3955 - auc: 0.5574
## 136/176 [======================>.......] - ETA: 0s - loss: 0.1415 - accuracy: 0.3938 - auc: 0.5522
## 158/176 [=========================>....] - ETA: 0s - loss: 0.1415 - accuracy: 0.3940 - auc: 0.5555
## 176/176 [==============================] - 1s 3ms/step - loss: 0.1416 - accuracy: 0.3976 - auc: 0.5536 - val_loss: 0.1711 - val_accuracy: 0.9751 - val_auc: 0.0000e+00
# Predict
pred_probs_nn1 <- model1 %>% predict(test_x)
## 55/55 - 0s - 185ms/epoch - 3ms/step
pred_classes_nn1 <- ifelse(pred_probs_nn1 > 0.5, "yes", "no")



# Evaluate
confusion_matrix_nn1<-confusionMatrix(
  factor(pred_classes_nn1, levels = c("no", "yes")),
  factor(ifelse(test_y == 1, "yes", "no"), levels = c("no", "yes"))
)
print(confusion_matrix_nn1)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  no yes
##        no   18  17
##        yes 855 862
##                                          
##                Accuracy : 0.5023         
##                  95% CI : (0.4786, 0.526)
##     No Information Rate : 0.5017         
##     P-Value [Acc > NIR] : 0.4905         
##                                          
##                   Kappa : 0.0013         
##                                          
##  Mcnemar's Test P-Value : <2e-16         
##                                          
##             Sensitivity : 0.02062        
##             Specificity : 0.98066        
##          Pos Pred Value : 0.51429        
##          Neg Pred Value : 0.50204        
##              Prevalence : 0.49829        
##          Detection Rate : 0.01027        
##    Detection Prevalence : 0.01998        
##       Balanced Accuracy : 0.50064        
##                                          
##        'Positive' Class : no             
## 
accuracy_nn <- confusion_matrix_nn1$overall['Accuracy']
precision_nn <- confusion_matrix_nn1$byClass['Pos Pred Value']
recall_nn <- confusion_matrix_nn1$byClass['Sensitivity']
f1_nn <- confusion_matrix_nn1$byClass['F1']

metrics_nns <- rbind(metrics_nns, data.frame(
  Model = "NN Base Model",
  Accuracy = as.numeric(accuracy_nn),
  Precision = as.numeric(precision_nn),
  Recall = as.numeric(recall_nn),
  F1 = as.numeric(f1_nn)
))

NN:Model 2

# Title: Deep Neural Network (Scaled + SMOTE Balanced)
# Description: With SMOTE oversampling, scaled features, larger architecture

set.seed(105)

# Convert the target to factor for SMOTE
train_data$heart_attack_risk <- factor(train_data$heart_attack_risk, levels = c("no", "yes"))

# Apply SMOTE to balance the training set
train_balanced <- SMOTE(heart_attack_risk ~ ., data = train_data, perc.over = 200, perc.under = 150)


train_y <- ifelse(train_balanced$heart_attack_risk == "yes", 1, 0)
test_y <- ifelse(test_data$heart_attack_risk == "yes", 1, 0)

# Prepare features
train_x <- train_balanced[, -which(names(train_balanced) == "heart_attack_risk")]
test_x  <- test_data[, -which(names(test_data) == "heart_attack_risk")]


train_x[] <- lapply(train_x, as.numeric)
test_x[] <- lapply(test_x, as.numeric)

# Scale
pre_proc <- preProcess(train_x, method = c("center", "scale"))
train_x <- predict(pre_proc, train_x)
test_x  <- predict(pre_proc, test_x)

# Convert to matrix
train_x <- as.matrix(train_x)
test_x  <- as.matrix(test_x)


focal_loss <- function(gamma = 2., alpha = 0.25) {
  function(y_true, y_pred) {
    epsilon <- k_epsilon()
    y_pred <- k_clip(y_pred, epsilon, 1.0 - epsilon)
    pt_1 <- tf$where(k_equal(y_true, 1), y_pred, k_ones_like(y_pred))
    pt_0 <- tf$where(k_equal(y_true, 0), y_pred, k_zeros_like(y_pred))
    return(-alpha * k_pow(1 - pt_1, gamma) * k_log(pt_1) -
           (1 - alpha) * k_pow(pt_0, gamma) * k_log(1 - pt_0))
  }
}
model2 <- keras_model_sequential() %>%
  layer_dense(units = 128, activation = "relu", input_shape = ncol(train_x)) %>%
  layer_batch_normalization() %>%
  layer_dropout(0.4) %>%
  layer_dense(units = 64, activation = "relu") %>%
  layer_batch_normalization() %>%
  layer_dropout(0.3) %>%
  layer_dense(units = 32, activation = "relu") %>%
  layer_dense(units = 1, activation = "sigmoid")

model2 %>% compile(
  loss = focal_loss(gamma = 2, alpha = 0.25),
  optimizer = optimizer_adam(learning_rate = 0.001),
  metrics = c("accuracy")
)

history <- model2 %>% fit(
  train_x, train_y,
  epochs = 50,
  batch_size = 32,
  validation_split = 0.2,
  verbose = 1
)
## Epoch 1/50
## 
##   1/524 [..............................] - ETA: 14:46 - loss: 0.1372 - accuracy: 0.4375
##  17/524 [..............................] - ETA: 1s - loss: 0.1330 - accuracy: 0.4320   
##  32/524 [>.............................] - ETA: 1s - loss: 0.1243 - accuracy: 0.4580
##  48/524 [=>............................] - ETA: 1s - loss: 0.1166 - accuracy: 0.4577
##  65/524 [==>...........................] - ETA: 1s - loss: 0.1131 - accuracy: 0.4577
##  82/524 [===>..........................] - ETA: 1s - loss: 0.1082 - accuracy: 0.4646
##  99/524 [====>.........................] - ETA: 1s - loss: 0.1051 - accuracy: 0.4640
## 116/524 [=====>........................] - ETA: 1s - loss: 0.1020 - accuracy: 0.4666
## 133/524 [======>.......................] - ETA: 1s - loss: 0.1000 - accuracy: 0.4680
## 151/524 [=======>......................] - ETA: 1s - loss: 0.0986 - accuracy: 0.4698
## 168/524 [========>.....................] - ETA: 1s - loss: 0.0970 - accuracy: 0.4689
## 184/524 [=========>....................] - ETA: 1s - loss: 0.0953 - accuracy: 0.4711
## 200/524 [==========>...................] - ETA: 1s - loss: 0.0945 - accuracy: 0.4661
## 218/524 [===========>..................] - ETA: 0s - loss: 0.0938 - accuracy: 0.4634
## 235/524 [============>.................] - ETA: 0s - loss: 0.0928 - accuracy: 0.4634
## 253/524 [=============>................] - ETA: 0s - loss: 0.0916 - accuracy: 0.4646
## 271/524 [==============>...............] - ETA: 0s - loss: 0.0907 - accuracy: 0.4660
## 288/524 [===============>..............] - ETA: 0s - loss: 0.0899 - accuracy: 0.4669
## 305/524 [================>.............] - ETA: 0s - loss: 0.0892 - accuracy: 0.4674
## 322/524 [=================>............] - ETA: 0s - loss: 0.0884 - accuracy: 0.4688
## 340/524 [==================>...........] - ETA: 0s - loss: 0.0878 - accuracy: 0.4699
## 356/524 [===================>..........] - ETA: 0s - loss: 0.0873 - accuracy: 0.4695
## 371/524 [====================>.........] - ETA: 0s - loss: 0.0868 - accuracy: 0.4679
## 389/524 [=====================>........] - ETA: 0s - loss: 0.0863 - accuracy: 0.4682
## 406/524 [======================>.......] - ETA: 0s - loss: 0.0860 - accuracy: 0.4671
## 423/524 [=======================>......] - ETA: 0s - loss: 0.0857 - accuracy: 0.4681
## 441/524 [========================>.....] - ETA: 0s - loss: 0.0852 - accuracy: 0.4697
## 458/524 [=========================>....] - ETA: 0s - loss: 0.0849 - accuracy: 0.4686
## 474/524 [==========================>...] - ETA: 0s - loss: 0.0845 - accuracy: 0.4691
## 492/524 [===========================>..] - ETA: 0s - loss: 0.0843 - accuracy: 0.4683
## 509/524 [============================>.] - ETA: 0s - loss: 0.0839 - accuracy: 0.4683
## 524/524 [==============================] - 4s 4ms/step - loss: 0.0836 - accuracy: 0.4689 - val_loss: 0.0846 - val_accuracy: 0.8760
## Epoch 2/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0767 - accuracy: 0.4375
##  17/524 [..............................] - ETA: 1s - loss: 0.0701 - accuracy: 0.5037
##  34/524 [>.............................] - ETA: 1s - loss: 0.0718 - accuracy: 0.4954
##  51/524 [=>............................] - ETA: 1s - loss: 0.0725 - accuracy: 0.4779
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0736 - accuracy: 0.4755
##  85/524 [===>..........................] - ETA: 1s - loss: 0.0741 - accuracy: 0.4721
## 102/524 [====>.........................] - ETA: 1s - loss: 0.0740 - accuracy: 0.4700
## 120/524 [=====>........................] - ETA: 1s - loss: 0.0738 - accuracy: 0.4695
## 137/524 [======>.......................] - ETA: 1s - loss: 0.0735 - accuracy: 0.4706
## 152/524 [=======>......................] - ETA: 1s - loss: 0.0735 - accuracy: 0.4696
## 169/524 [========>.....................] - ETA: 1s - loss: 0.0732 - accuracy: 0.4736
## 186/524 [=========>....................] - ETA: 1s - loss: 0.0732 - accuracy: 0.4730
## 202/524 [==========>...................] - ETA: 0s - loss: 0.0731 - accuracy: 0.4703
## 218/524 [===========>..................] - ETA: 0s - loss: 0.0733 - accuracy: 0.4716
## 236/524 [============>.................] - ETA: 0s - loss: 0.0730 - accuracy: 0.4711
## 253/524 [=============>................] - ETA: 0s - loss: 0.0729 - accuracy: 0.4720
## 270/524 [==============>...............] - ETA: 0s - loss: 0.0729 - accuracy: 0.4741
## 287/524 [===============>..............] - ETA: 0s - loss: 0.0729 - accuracy: 0.4735
## 304/524 [================>.............] - ETA: 0s - loss: 0.0730 - accuracy: 0.4707
## 320/524 [=================>............] - ETA: 0s - loss: 0.0729 - accuracy: 0.4724
## 338/524 [==================>...........] - ETA: 0s - loss: 0.0727 - accuracy: 0.4726
## 355/524 [===================>..........] - ETA: 0s - loss: 0.0727 - accuracy: 0.4733
## 372/524 [====================>.........] - ETA: 0s - loss: 0.0725 - accuracy: 0.4743
## 389/524 [=====================>........] - ETA: 0s - loss: 0.0724 - accuracy: 0.4747
## 406/524 [======================>.......] - ETA: 0s - loss: 0.0723 - accuracy: 0.4770
## 423/524 [=======================>......] - ETA: 0s - loss: 0.0723 - accuracy: 0.4783
## 441/524 [========================>.....] - ETA: 0s - loss: 0.0723 - accuracy: 0.4779
## 458/524 [=========================>....] - ETA: 0s - loss: 0.0722 - accuracy: 0.4776
## 475/524 [==========================>...] - ETA: 0s - loss: 0.0721 - accuracy: 0.4775
## 490/524 [===========================>..] - ETA: 0s - loss: 0.0722 - accuracy: 0.4770
## 506/524 [===========================>..] - ETA: 0s - loss: 0.0722 - accuracy: 0.4778
## 523/524 [============================>.] - ETA: 0s - loss: 0.0721 - accuracy: 0.4774
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0721 - accuracy: 0.4775 - val_loss: 0.0754 - val_accuracy: 0.9344
## Epoch 3/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0724 - accuracy: 0.5312
##  18/524 [>.............................] - ETA: 1s - loss: 0.0721 - accuracy: 0.4705
##  34/524 [>.............................] - ETA: 1s - loss: 0.0710 - accuracy: 0.4954
##  50/524 [=>............................] - ETA: 1s - loss: 0.0707 - accuracy: 0.5019
##  68/524 [==>...........................] - ETA: 1s - loss: 0.0698 - accuracy: 0.5009
##  85/524 [===>..........................] - ETA: 1s - loss: 0.0706 - accuracy: 0.4996
## 103/524 [====>.........................] - ETA: 1s - loss: 0.0702 - accuracy: 0.4979
## 120/524 [=====>........................] - ETA: 1s - loss: 0.0704 - accuracy: 0.4943
## 135/524 [======>.......................] - ETA: 1s - loss: 0.0703 - accuracy: 0.4935
## 152/524 [=======>......................] - ETA: 1s - loss: 0.0705 - accuracy: 0.4942
## 168/524 [========>.....................] - ETA: 1s - loss: 0.0706 - accuracy: 0.4903
## 186/524 [=========>....................] - ETA: 1s - loss: 0.0705 - accuracy: 0.4950
## 202/524 [==========>...................] - ETA: 0s - loss: 0.0703 - accuracy: 0.4952
## 219/524 [===========>..................] - ETA: 0s - loss: 0.0704 - accuracy: 0.4941
## 236/524 [============>.................] - ETA: 0s - loss: 0.0705 - accuracy: 0.4899
## 252/524 [=============>................] - ETA: 0s - loss: 0.0704 - accuracy: 0.4885
## 269/524 [==============>...............] - ETA: 0s - loss: 0.0704 - accuracy: 0.4854
## 286/524 [===============>..............] - ETA: 0s - loss: 0.0704 - accuracy: 0.4861
## 303/524 [================>.............] - ETA: 0s - loss: 0.0702 - accuracy: 0.4876
## 320/524 [=================>............] - ETA: 0s - loss: 0.0701 - accuracy: 0.4894
## 338/524 [==================>...........] - ETA: 0s - loss: 0.0700 - accuracy: 0.4885
## 355/524 [===================>..........] - ETA: 0s - loss: 0.0699 - accuracy: 0.4904
## 372/524 [====================>.........] - ETA: 0s - loss: 0.0697 - accuracy: 0.4913
## 390/524 [=====================>........] - ETA: 0s - loss: 0.0697 - accuracy: 0.4925
## 407/524 [======================>.......] - ETA: 0s - loss: 0.0696 - accuracy: 0.4929
## 425/524 [=======================>......] - ETA: 0s - loss: 0.0696 - accuracy: 0.4929
## 442/524 [========================>.....] - ETA: 0s - loss: 0.0696 - accuracy: 0.4923
## 458/524 [=========================>....] - ETA: 0s - loss: 0.0697 - accuracy: 0.4915
## 474/524 [==========================>...] - ETA: 0s - loss: 0.0697 - accuracy: 0.4908
## 490/524 [===========================>..] - ETA: 0s - loss: 0.0698 - accuracy: 0.4892
## 507/524 [============================>.] - ETA: 0s - loss: 0.0698 - accuracy: 0.4887
## 523/524 [============================>.] - ETA: 0s - loss: 0.0698 - accuracy: 0.4874
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0698 - accuracy: 0.4872 - val_loss: 0.0717 - val_accuracy: 0.9492
## Epoch 4/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0626 - accuracy: 0.4688
##  18/524 [>.............................] - ETA: 1s - loss: 0.0686 - accuracy: 0.4722
##  36/524 [=>............................] - ETA: 1s - loss: 0.0694 - accuracy: 0.4766
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0684 - accuracy: 0.4829
##  71/524 [===>..........................] - ETA: 1s - loss: 0.0686 - accuracy: 0.4780
##  87/524 [===>..........................] - ETA: 1s - loss: 0.0685 - accuracy: 0.4813
## 104/524 [====>.........................] - ETA: 1s - loss: 0.0687 - accuracy: 0.4880
## 122/524 [=====>........................] - ETA: 1s - loss: 0.0688 - accuracy: 0.4867
## 139/524 [======>.......................] - ETA: 1s - loss: 0.0687 - accuracy: 0.4827
## 156/524 [=======>......................] - ETA: 1s - loss: 0.0686 - accuracy: 0.4828
## 173/524 [========>.....................] - ETA: 1s - loss: 0.0687 - accuracy: 0.4810
## 190/524 [=========>....................] - ETA: 1s - loss: 0.0685 - accuracy: 0.4817
## 207/524 [==========>...................] - ETA: 0s - loss: 0.0685 - accuracy: 0.4848
## 225/524 [===========>..................] - ETA: 0s - loss: 0.0684 - accuracy: 0.4833
## 241/524 [============>.................] - ETA: 0s - loss: 0.0684 - accuracy: 0.4829
## 258/524 [=============>................] - ETA: 0s - loss: 0.0683 - accuracy: 0.4815
## 276/524 [==============>...............] - ETA: 0s - loss: 0.0683 - accuracy: 0.4831
## 293/524 [===============>..............] - ETA: 0s - loss: 0.0685 - accuracy: 0.4844
## 310/524 [================>.............] - ETA: 0s - loss: 0.0685 - accuracy: 0.4855
## 327/524 [=================>............] - ETA: 0s - loss: 0.0685 - accuracy: 0.4853
## 343/524 [==================>...........] - ETA: 0s - loss: 0.0684 - accuracy: 0.4844
## 356/524 [===================>..........] - ETA: 0s - loss: 0.0683 - accuracy: 0.4868
## 371/524 [====================>.........] - ETA: 0s - loss: 0.0684 - accuracy: 0.4866
## 386/524 [=====================>........] - ETA: 0s - loss: 0.0683 - accuracy: 0.4875
## 401/524 [=====================>........] - ETA: 0s - loss: 0.0682 - accuracy: 0.4887
## 416/524 [======================>.......] - ETA: 0s - loss: 0.0683 - accuracy: 0.4893
## 433/524 [=======================>......] - ETA: 0s - loss: 0.0682 - accuracy: 0.4905
## 451/524 [========================>.....] - ETA: 0s - loss: 0.0682 - accuracy: 0.4913
## 468/524 [=========================>....] - ETA: 0s - loss: 0.0682 - accuracy: 0.4919
## 486/524 [==========================>...] - ETA: 0s - loss: 0.0683 - accuracy: 0.4918
## 503/524 [===========================>..] - ETA: 0s - loss: 0.0683 - accuracy: 0.4914
## 520/524 [============================>.] - ETA: 0s - loss: 0.0682 - accuracy: 0.4908
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0682 - accuracy: 0.4903 - val_loss: 0.0667 - val_accuracy: 0.9597
## Epoch 5/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0710 - accuracy: 0.4375
##  18/524 [>.............................] - ETA: 1s - loss: 0.0688 - accuracy: 0.5295
##  36/524 [=>............................] - ETA: 1s - loss: 0.0678 - accuracy: 0.5061
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0675 - accuracy: 0.5106
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0675 - accuracy: 0.5071
##  87/524 [===>..........................] - ETA: 1s - loss: 0.0672 - accuracy: 0.5072
## 105/524 [=====>........................] - ETA: 1s - loss: 0.0676 - accuracy: 0.5140
## 123/524 [======>.......................] - ETA: 1s - loss: 0.0675 - accuracy: 0.5122
## 140/524 [=======>......................] - ETA: 1s - loss: 0.0676 - accuracy: 0.5121
## 158/524 [========>.....................] - ETA: 1s - loss: 0.0676 - accuracy: 0.5079
## 175/524 [=========>....................] - ETA: 1s - loss: 0.0677 - accuracy: 0.5071
## 192/524 [=========>....................] - ETA: 0s - loss: 0.0678 - accuracy: 0.5042
## 208/524 [==========>...................] - ETA: 0s - loss: 0.0676 - accuracy: 0.5039
## 226/524 [===========>..................] - ETA: 0s - loss: 0.0674 - accuracy: 0.5064
## 242/524 [============>.................] - ETA: 0s - loss: 0.0672 - accuracy: 0.5072
## 259/524 [=============>................] - ETA: 0s - loss: 0.0674 - accuracy: 0.5054
## 275/524 [==============>...............] - ETA: 0s - loss: 0.0675 - accuracy: 0.5045
## 292/524 [===============>..............] - ETA: 0s - loss: 0.0675 - accuracy: 0.5068
## 309/524 [================>.............] - ETA: 0s - loss: 0.0675 - accuracy: 0.5050
## 327/524 [=================>............] - ETA: 0s - loss: 0.0674 - accuracy: 0.5028
## 344/524 [==================>...........] - ETA: 0s - loss: 0.0674 - accuracy: 0.5040
## 360/524 [===================>..........] - ETA: 0s - loss: 0.0674 - accuracy: 0.5030
## 374/524 [====================>.........] - ETA: 0s - loss: 0.0674 - accuracy: 0.5043
## 391/524 [=====================>........] - ETA: 0s - loss: 0.0673 - accuracy: 0.5038
## 409/524 [======================>.......] - ETA: 0s - loss: 0.0674 - accuracy: 0.5037
## 426/524 [=======================>......] - ETA: 0s - loss: 0.0674 - accuracy: 0.5026
## 444/524 [========================>.....] - ETA: 0s - loss: 0.0674 - accuracy: 0.5039
## 461/524 [=========================>....] - ETA: 0s - loss: 0.0674 - accuracy: 0.5041
## 478/524 [==========================>...] - ETA: 0s - loss: 0.0674 - accuracy: 0.5043
## 495/524 [===========================>..] - ETA: 0s - loss: 0.0674 - accuracy: 0.5031
## 513/524 [============================>.] - ETA: 0s - loss: 0.0674 - accuracy: 0.5021
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0675 - accuracy: 0.5031 - val_loss: 0.0598 - val_accuracy: 0.9742
## Epoch 6/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0667 - accuracy: 0.4062
##  16/524 [..............................] - ETA: 1s - loss: 0.0680 - accuracy: 0.4551
##  34/524 [>.............................] - ETA: 1s - loss: 0.0665 - accuracy: 0.4835
##  51/524 [=>............................] - ETA: 1s - loss: 0.0670 - accuracy: 0.4890
##  68/524 [==>...........................] - ETA: 1s - loss: 0.0663 - accuracy: 0.5000
##  85/524 [===>..........................] - ETA: 1s - loss: 0.0662 - accuracy: 0.4971
## 103/524 [====>.........................] - ETA: 1s - loss: 0.0665 - accuracy: 0.5067
## 120/524 [=====>........................] - ETA: 1s - loss: 0.0663 - accuracy: 0.5081
## 137/524 [======>.......................] - ETA: 1s - loss: 0.0667 - accuracy: 0.5052
## 154/524 [=======>......................] - ETA: 1s - loss: 0.0670 - accuracy: 0.5071
## 171/524 [========>.....................] - ETA: 1s - loss: 0.0671 - accuracy: 0.5046
## 189/524 [=========>....................] - ETA: 1s - loss: 0.0672 - accuracy: 0.5023
## 206/524 [==========>...................] - ETA: 0s - loss: 0.0671 - accuracy: 0.4997
## 223/524 [===========>..................] - ETA: 0s - loss: 0.0670 - accuracy: 0.5032
## 241/524 [============>.................] - ETA: 0s - loss: 0.0670 - accuracy: 0.5022
## 256/524 [=============>................] - ETA: 0s - loss: 0.0669 - accuracy: 0.5060
## 273/524 [==============>...............] - ETA: 0s - loss: 0.0670 - accuracy: 0.5041
## 290/524 [===============>..............] - ETA: 0s - loss: 0.0670 - accuracy: 0.5059
## 308/524 [================>.............] - ETA: 0s - loss: 0.0671 - accuracy: 0.5029
## 326/524 [=================>............] - ETA: 0s - loss: 0.0671 - accuracy: 0.5019
## 343/524 [==================>...........] - ETA: 0s - loss: 0.0671 - accuracy: 0.4999
## 360/524 [===================>..........] - ETA: 0s - loss: 0.0670 - accuracy: 0.5029
## 376/524 [====================>.........] - ETA: 0s - loss: 0.0670 - accuracy: 0.5032
## 393/524 [=====================>........] - ETA: 0s - loss: 0.0668 - accuracy: 0.5041
## 410/524 [======================>.......] - ETA: 0s - loss: 0.0667 - accuracy: 0.5053
## 427/524 [=======================>......] - ETA: 0s - loss: 0.0667 - accuracy: 0.5070
## 444/524 [========================>.....] - ETA: 0s - loss: 0.0668 - accuracy: 0.5065
## 461/524 [=========================>....] - ETA: 0s - loss: 0.0668 - accuracy: 0.5061
## 479/524 [==========================>...] - ETA: 0s - loss: 0.0668 - accuracy: 0.5044
## 495/524 [===========================>..] - ETA: 0s - loss: 0.0667 - accuracy: 0.5040
## 512/524 [============================>.] - ETA: 0s - loss: 0.0668 - accuracy: 0.5040
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0668 - accuracy: 0.5041 - val_loss: 0.0573 - val_accuracy: 0.9666
## Epoch 7/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0693 - accuracy: 0.4062
##  19/524 [>.............................] - ETA: 1s - loss: 0.0654 - accuracy: 0.4704
##  36/524 [=>............................] - ETA: 1s - loss: 0.0659 - accuracy: 0.4852
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0662 - accuracy: 0.4941
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0665 - accuracy: 0.5054
##  88/524 [====>.........................] - ETA: 1s - loss: 0.0663 - accuracy: 0.5060
## 105/524 [=====>........................] - ETA: 1s - loss: 0.0666 - accuracy: 0.5122
## 123/524 [======>.......................] - ETA: 1s - loss: 0.0667 - accuracy: 0.5064
## 141/524 [=======>......................] - ETA: 1s - loss: 0.0665 - accuracy: 0.5093
## 159/524 [========>.....................] - ETA: 1s - loss: 0.0664 - accuracy: 0.5124
## 176/524 [=========>....................] - ETA: 1s - loss: 0.0665 - accuracy: 0.5112
## 194/524 [==========>...................] - ETA: 0s - loss: 0.0667 - accuracy: 0.5090
## 210/524 [===========>..................] - ETA: 0s - loss: 0.0666 - accuracy: 0.5055
## 227/524 [===========>..................] - ETA: 0s - loss: 0.0666 - accuracy: 0.5076
## 245/524 [=============>................] - ETA: 0s - loss: 0.0666 - accuracy: 0.5119
## 262/524 [==============>...............] - ETA: 0s - loss: 0.0665 - accuracy: 0.5132
## 278/524 [==============>...............] - ETA: 0s - loss: 0.0664 - accuracy: 0.5150
## 296/524 [===============>..............] - ETA: 0s - loss: 0.0664 - accuracy: 0.5148
## 314/524 [================>.............] - ETA: 0s - loss: 0.0663 - accuracy: 0.5144
## 331/524 [=================>............] - ETA: 0s - loss: 0.0664 - accuracy: 0.5143
## 348/524 [==================>...........] - ETA: 0s - loss: 0.0664 - accuracy: 0.5135
## 366/524 [===================>..........] - ETA: 0s - loss: 0.0663 - accuracy: 0.5137
## 383/524 [====================>.........] - ETA: 0s - loss: 0.0662 - accuracy: 0.5146
## 401/524 [=====================>........] - ETA: 0s - loss: 0.0661 - accuracy: 0.5159
## 418/524 [======================>.......] - ETA: 0s - loss: 0.0661 - accuracy: 0.5170
## 435/524 [=======================>......] - ETA: 0s - loss: 0.0661 - accuracy: 0.5179
## 452/524 [========================>.....] - ETA: 0s - loss: 0.0661 - accuracy: 0.5174
## 468/524 [=========================>....] - ETA: 0s - loss: 0.0660 - accuracy: 0.5177
## 485/524 [==========================>...] - ETA: 0s - loss: 0.0660 - accuracy: 0.5171
## 502/524 [===========================>..] - ETA: 0s - loss: 0.0660 - accuracy: 0.5177
## 520/524 [============================>.] - ETA: 0s - loss: 0.0660 - accuracy: 0.5170
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0659 - accuracy: 0.5171 - val_loss: 0.0579 - val_accuracy: 0.9604
## Epoch 8/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0607 - accuracy: 0.4375
##  18/524 [>.............................] - ETA: 1s - loss: 0.0643 - accuracy: 0.5556
##  36/524 [=>............................] - ETA: 1s - loss: 0.0660 - accuracy: 0.5295
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0659 - accuracy: 0.5165
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0665 - accuracy: 0.5156
##  87/524 [===>..........................] - ETA: 1s - loss: 0.0658 - accuracy: 0.5190
## 104/524 [====>.........................] - ETA: 1s - loss: 0.0660 - accuracy: 0.5159
## 121/524 [=====>........................] - ETA: 1s - loss: 0.0659 - accuracy: 0.5158
## 139/524 [======>.......................] - ETA: 1s - loss: 0.0659 - accuracy: 0.5171
## 157/524 [=======>......................] - ETA: 1s - loss: 0.0659 - accuracy: 0.5181
## 174/524 [========>.....................] - ETA: 1s - loss: 0.0658 - accuracy: 0.5203
## 192/524 [=========>....................] - ETA: 1s - loss: 0.0659 - accuracy: 0.5205
## 209/524 [==========>...................] - ETA: 0s - loss: 0.0659 - accuracy: 0.5182
## 225/524 [===========>..................] - ETA: 0s - loss: 0.0658 - accuracy: 0.5179
## 242/524 [============>.................] - ETA: 0s - loss: 0.0657 - accuracy: 0.5176
## 260/524 [=============>................] - ETA: 0s - loss: 0.0657 - accuracy: 0.5175
## 277/524 [==============>...............] - ETA: 0s - loss: 0.0658 - accuracy: 0.5165
## 294/524 [===============>..............] - ETA: 0s - loss: 0.0656 - accuracy: 0.5178
## 312/524 [================>.............] - ETA: 0s - loss: 0.0655 - accuracy: 0.5218
## 329/524 [=================>............] - ETA: 0s - loss: 0.0655 - accuracy: 0.5223
## 347/524 [==================>...........] - ETA: 0s - loss: 0.0653 - accuracy: 0.5226
## 364/524 [===================>..........] - ETA: 0s - loss: 0.0653 - accuracy: 0.5241
## 382/524 [====================>.........] - ETA: 0s - loss: 0.0654 - accuracy: 0.5249
## 399/524 [=====================>........] - ETA: 0s - loss: 0.0654 - accuracy: 0.5244
## 416/524 [======================>.......] - ETA: 0s - loss: 0.0653 - accuracy: 0.5231
## 433/524 [=======================>......] - ETA: 0s - loss: 0.0653 - accuracy: 0.5236
## 449/524 [========================>.....] - ETA: 0s - loss: 0.0652 - accuracy: 0.5260
## 467/524 [=========================>....] - ETA: 0s - loss: 0.0653 - accuracy: 0.5266
## 484/524 [==========================>...] - ETA: 0s - loss: 0.0654 - accuracy: 0.5257
## 502/524 [===========================>..] - ETA: 0s - loss: 0.0654 - accuracy: 0.5257
## 519/524 [============================>.] - ETA: 0s - loss: 0.0653 - accuracy: 0.5256
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0653 - accuracy: 0.5258 - val_loss: 0.0578 - val_accuracy: 0.9456
## Epoch 9/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0716 - accuracy: 0.4062
##  18/524 [>.............................] - ETA: 1s - loss: 0.0666 - accuracy: 0.5260
##  35/524 [=>............................] - ETA: 1s - loss: 0.0647 - accuracy: 0.5384
##  52/524 [=>............................] - ETA: 1s - loss: 0.0640 - accuracy: 0.5475
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0645 - accuracy: 0.5421
##  86/524 [===>..........................] - ETA: 1s - loss: 0.0643 - accuracy: 0.5487
## 102/524 [====>.........................] - ETA: 1s - loss: 0.0645 - accuracy: 0.5429
## 118/524 [=====>........................] - ETA: 1s - loss: 0.0645 - accuracy: 0.5466
## 136/524 [======>.......................] - ETA: 1s - loss: 0.0644 - accuracy: 0.5487
## 153/524 [=======>......................] - ETA: 1s - loss: 0.0644 - accuracy: 0.5451
## 171/524 [========>.....................] - ETA: 1s - loss: 0.0644 - accuracy: 0.5451
## 188/524 [=========>....................] - ETA: 1s - loss: 0.0645 - accuracy: 0.5474
## 205/524 [==========>...................] - ETA: 0s - loss: 0.0645 - accuracy: 0.5454
## 221/524 [===========>..................] - ETA: 0s - loss: 0.0646 - accuracy: 0.5430
## 239/524 [============>.................] - ETA: 0s - loss: 0.0646 - accuracy: 0.5409
## 255/524 [=============>................] - ETA: 0s - loss: 0.0648 - accuracy: 0.5407
## 273/524 [==============>...............] - ETA: 0s - loss: 0.0649 - accuracy: 0.5370
## 291/524 [===============>..............] - ETA: 0s - loss: 0.0648 - accuracy: 0.5369
## 308/524 [================>.............] - ETA: 0s - loss: 0.0647 - accuracy: 0.5394
## 326/524 [=================>............] - ETA: 0s - loss: 0.0647 - accuracy: 0.5376
## 344/524 [==================>...........] - ETA: 0s - loss: 0.0646 - accuracy: 0.5386
## 361/524 [===================>..........] - ETA: 0s - loss: 0.0646 - accuracy: 0.5401
## 379/524 [====================>.........] - ETA: 0s - loss: 0.0646 - accuracy: 0.5407
## 397/524 [=====================>........] - ETA: 0s - loss: 0.0645 - accuracy: 0.5411
## 413/524 [======================>.......] - ETA: 0s - loss: 0.0645 - accuracy: 0.5408
## 430/524 [=======================>......] - ETA: 0s - loss: 0.0645 - accuracy: 0.5428
## 446/524 [========================>.....] - ETA: 0s - loss: 0.0645 - accuracy: 0.5429
## 464/524 [=========================>....] - ETA: 0s - loss: 0.0645 - accuracy: 0.5428
## 481/524 [==========================>...] - ETA: 0s - loss: 0.0644 - accuracy: 0.5433
## 498/524 [===========================>..] - ETA: 0s - loss: 0.0645 - accuracy: 0.5427
## 516/524 [============================>.] - ETA: 0s - loss: 0.0645 - accuracy: 0.5419
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0645 - accuracy: 0.5419 - val_loss: 0.0517 - val_accuracy: 0.9618
## Epoch 10/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0745 - accuracy: 0.3750
##  16/524 [..............................] - ETA: 1s - loss: 0.0658 - accuracy: 0.5469
##  33/524 [>.............................] - ETA: 1s - loss: 0.0642 - accuracy: 0.5559
##  50/524 [=>............................] - ETA: 1s - loss: 0.0643 - accuracy: 0.5512
##  67/524 [==>...........................] - ETA: 1s - loss: 0.0643 - accuracy: 0.5485
##  84/524 [===>..........................] - ETA: 1s - loss: 0.0639 - accuracy: 0.5480
## 100/524 [====>.........................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5500
## 117/524 [=====>........................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5518
## 134/524 [======>.......................] - ETA: 1s - loss: 0.0645 - accuracy: 0.5464
## 151/524 [=======>......................] - ETA: 1s - loss: 0.0642 - accuracy: 0.5466
## 169/524 [========>.....................] - ETA: 1s - loss: 0.0645 - accuracy: 0.5427
## 187/524 [=========>....................] - ETA: 1s - loss: 0.0645 - accuracy: 0.5433
## 204/524 [==========>...................] - ETA: 0s - loss: 0.0643 - accuracy: 0.5458
## 222/524 [===========>..................] - ETA: 0s - loss: 0.0643 - accuracy: 0.5460
## 238/524 [============>.................] - ETA: 0s - loss: 0.0641 - accuracy: 0.5483
## 256/524 [=============>................] - ETA: 0s - loss: 0.0642 - accuracy: 0.5482
## 273/524 [==============>...............] - ETA: 0s - loss: 0.0642 - accuracy: 0.5473
## 290/524 [===============>..............] - ETA: 0s - loss: 0.0644 - accuracy: 0.5476
## 307/524 [================>.............] - ETA: 0s - loss: 0.0644 - accuracy: 0.5453
## 324/524 [=================>............] - ETA: 0s - loss: 0.0645 - accuracy: 0.5457
## 341/524 [==================>...........] - ETA: 0s - loss: 0.0644 - accuracy: 0.5456
## 359/524 [===================>..........] - ETA: 0s - loss: 0.0645 - accuracy: 0.5453
## 377/524 [====================>.........] - ETA: 0s - loss: 0.0644 - accuracy: 0.5438
## 394/524 [=====================>........] - ETA: 0s - loss: 0.0644 - accuracy: 0.5447
## 412/524 [======================>.......] - ETA: 0s - loss: 0.0645 - accuracy: 0.5440
## 430/524 [=======================>......] - ETA: 0s - loss: 0.0645 - accuracy: 0.5424
## 447/524 [========================>.....] - ETA: 0s - loss: 0.0645 - accuracy: 0.5418
## 465/524 [=========================>....] - ETA: 0s - loss: 0.0645 - accuracy: 0.5423
## 483/524 [==========================>...] - ETA: 0s - loss: 0.0645 - accuracy: 0.5428
## 500/524 [===========================>..] - ETA: 0s - loss: 0.0645 - accuracy: 0.5412
## 517/524 [============================>.] - ETA: 0s - loss: 0.0647 - accuracy: 0.5403
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0646 - accuracy: 0.5403 - val_loss: 0.0590 - val_accuracy: 0.9423
## Epoch 11/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0713 - accuracy: 0.5312
##  17/524 [..............................] - ETA: 1s - loss: 0.0667 - accuracy: 0.5496
##  33/524 [>.............................] - ETA: 1s - loss: 0.0657 - accuracy: 0.5360
##  47/524 [=>............................] - ETA: 1s - loss: 0.0645 - accuracy: 0.5352
##  64/524 [==>...........................] - ETA: 1s - loss: 0.0643 - accuracy: 0.5483
##  81/524 [===>..........................] - ETA: 1s - loss: 0.0636 - accuracy: 0.5513
##  98/524 [====>.........................] - ETA: 1s - loss: 0.0640 - accuracy: 0.5427
## 116/524 [=====>........................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5453
## 133/524 [======>.......................] - ETA: 1s - loss: 0.0644 - accuracy: 0.5475
## 150/524 [=======>......................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5452
## 167/524 [========>.....................] - ETA: 1s - loss: 0.0642 - accuracy: 0.5440
## 184/524 [=========>....................] - ETA: 1s - loss: 0.0643 - accuracy: 0.5435
## 201/524 [==========>...................] - ETA: 0s - loss: 0.0641 - accuracy: 0.5457
## 219/524 [===========>..................] - ETA: 0s - loss: 0.0641 - accuracy: 0.5445
## 236/524 [============>.................] - ETA: 0s - loss: 0.0639 - accuracy: 0.5469
## 251/524 [=============>................] - ETA: 0s - loss: 0.0639 - accuracy: 0.5476
## 269/524 [==============>...............] - ETA: 0s - loss: 0.0638 - accuracy: 0.5501
## 286/524 [===============>..............] - ETA: 0s - loss: 0.0638 - accuracy: 0.5508
## 303/524 [================>.............] - ETA: 0s - loss: 0.0638 - accuracy: 0.5483
## 320/524 [=================>............] - ETA: 0s - loss: 0.0638 - accuracy: 0.5479
## 336/524 [==================>...........] - ETA: 0s - loss: 0.0638 - accuracy: 0.5495
## 353/524 [===================>..........] - ETA: 0s - loss: 0.0637 - accuracy: 0.5513
## 371/524 [====================>.........] - ETA: 0s - loss: 0.0636 - accuracy: 0.5511
## 388/524 [=====================>........] - ETA: 0s - loss: 0.0637 - accuracy: 0.5524
## 405/524 [======================>.......] - ETA: 0s - loss: 0.0637 - accuracy: 0.5506
## 422/524 [=======================>......] - ETA: 0s - loss: 0.0637 - accuracy: 0.5512
## 440/524 [========================>.....] - ETA: 0s - loss: 0.0637 - accuracy: 0.5499
## 457/524 [=========================>....] - ETA: 0s - loss: 0.0636 - accuracy: 0.5518
## 475/524 [==========================>...] - ETA: 0s - loss: 0.0636 - accuracy: 0.5533
## 493/524 [===========================>..] - ETA: 0s - loss: 0.0635 - accuracy: 0.5546
## 511/524 [============================>.] - ETA: 0s - loss: 0.0635 - accuracy: 0.5555
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0634 - accuracy: 0.5575 - val_loss: 0.0597 - val_accuracy: 0.9051
## Epoch 12/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0600 - accuracy: 0.5938
##  18/524 [>.............................] - ETA: 1s - loss: 0.0652 - accuracy: 0.5764
##  36/524 [=>............................] - ETA: 1s - loss: 0.0646 - accuracy: 0.5573
##  54/524 [==>...........................] - ETA: 1s - loss: 0.0649 - accuracy: 0.5422
##  71/524 [===>..........................] - ETA: 1s - loss: 0.0643 - accuracy: 0.5533
##  88/524 [====>.........................] - ETA: 1s - loss: 0.0646 - accuracy: 0.5515
## 106/524 [=====>........................] - ETA: 1s - loss: 0.0644 - accuracy: 0.5531
## 123/524 [======>.......................] - ETA: 1s - loss: 0.0642 - accuracy: 0.5579
## 140/524 [=======>......................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5551
## 157/524 [=======>......................] - ETA: 1s - loss: 0.0639 - accuracy: 0.5597
## 175/524 [=========>....................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5580
## 191/524 [=========>....................] - ETA: 0s - loss: 0.0640 - accuracy: 0.5574
## 208/524 [==========>...................] - ETA: 0s - loss: 0.0640 - accuracy: 0.5556
## 225/524 [===========>..................] - ETA: 0s - loss: 0.0640 - accuracy: 0.5565
## 242/524 [============>.................] - ETA: 0s - loss: 0.0636 - accuracy: 0.5602
## 259/524 [=============>................] - ETA: 0s - loss: 0.0636 - accuracy: 0.5641
## 277/524 [==============>...............] - ETA: 0s - loss: 0.0636 - accuracy: 0.5653
## 295/524 [===============>..............] - ETA: 0s - loss: 0.0636 - accuracy: 0.5624
## 313/524 [================>.............] - ETA: 0s - loss: 0.0636 - accuracy: 0.5625
## 330/524 [=================>............] - ETA: 0s - loss: 0.0636 - accuracy: 0.5625
## 348/524 [==================>...........] - ETA: 0s - loss: 0.0635 - accuracy: 0.5619
## 365/524 [===================>..........] - ETA: 0s - loss: 0.0636 - accuracy: 0.5622
## 383/524 [====================>.........] - ETA: 0s - loss: 0.0635 - accuracy: 0.5625
## 398/524 [=====================>........] - ETA: 0s - loss: 0.0635 - accuracy: 0.5624
## 414/524 [======================>.......] - ETA: 0s - loss: 0.0636 - accuracy: 0.5622
## 431/524 [=======================>......] - ETA: 0s - loss: 0.0636 - accuracy: 0.5614
## 448/524 [========================>.....] - ETA: 0s - loss: 0.0636 - accuracy: 0.5607
## 465/524 [=========================>....] - ETA: 0s - loss: 0.0635 - accuracy: 0.5622
## 482/524 [==========================>...] - ETA: 0s - loss: 0.0635 - accuracy: 0.5614
## 499/524 [===========================>..] - ETA: 0s - loss: 0.0634 - accuracy: 0.5612
## 515/524 [============================>.] - ETA: 0s - loss: 0.0634 - accuracy: 0.5618
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0634 - accuracy: 0.5618 - val_loss: 0.0586 - val_accuracy: 0.9179
## Epoch 13/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0648 - accuracy: 0.6250
##  19/524 [>.............................] - ETA: 1s - loss: 0.0619 - accuracy: 0.5609
##  36/524 [=>............................] - ETA: 1s - loss: 0.0631 - accuracy: 0.5677
##  54/524 [==>...........................] - ETA: 1s - loss: 0.0622 - accuracy: 0.5758
##  72/524 [===>..........................] - ETA: 1s - loss: 0.0630 - accuracy: 0.5673
##  90/524 [====>.........................] - ETA: 1s - loss: 0.0626 - accuracy: 0.5736
## 107/524 [=====>........................] - ETA: 1s - loss: 0.0626 - accuracy: 0.5704
## 124/524 [======>.......................] - ETA: 1s - loss: 0.0626 - accuracy: 0.5650
## 140/524 [=======>......................] - ETA: 1s - loss: 0.0624 - accuracy: 0.5759
## 157/524 [=======>......................] - ETA: 1s - loss: 0.0627 - accuracy: 0.5742
## 174/524 [========>.....................] - ETA: 1s - loss: 0.0623 - accuracy: 0.5704
## 192/524 [=========>....................] - ETA: 0s - loss: 0.0626 - accuracy: 0.5701
## 209/524 [==========>...................] - ETA: 0s - loss: 0.0627 - accuracy: 0.5743
## 225/524 [===========>..................] - ETA: 0s - loss: 0.0626 - accuracy: 0.5747
## 243/524 [============>.................] - ETA: 0s - loss: 0.0627 - accuracy: 0.5711
## 260/524 [=============>................] - ETA: 0s - loss: 0.0626 - accuracy: 0.5726
## 277/524 [==============>...............] - ETA: 0s - loss: 0.0626 - accuracy: 0.5714
## 295/524 [===============>..............] - ETA: 0s - loss: 0.0626 - accuracy: 0.5715
## 312/524 [================>.............] - ETA: 0s - loss: 0.0626 - accuracy: 0.5717
## 329/524 [=================>............] - ETA: 0s - loss: 0.0627 - accuracy: 0.5730
## 347/524 [==================>...........] - ETA: 0s - loss: 0.0627 - accuracy: 0.5727
## 364/524 [===================>..........] - ETA: 0s - loss: 0.0628 - accuracy: 0.5721
## 381/524 [====================>.........] - ETA: 0s - loss: 0.0627 - accuracy: 0.5705
## 398/524 [=====================>........] - ETA: 0s - loss: 0.0628 - accuracy: 0.5701
## 415/524 [======================>.......] - ETA: 0s - loss: 0.0629 - accuracy: 0.5697
## 433/524 [=======================>......] - ETA: 0s - loss: 0.0628 - accuracy: 0.5708
## 449/524 [========================>.....] - ETA: 0s - loss: 0.0628 - accuracy: 0.5706
## 467/524 [=========================>....] - ETA: 0s - loss: 0.0629 - accuracy: 0.5717
## 484/524 [==========================>...] - ETA: 0s - loss: 0.0629 - accuracy: 0.5705
## 501/524 [===========================>..] - ETA: 0s - loss: 0.0628 - accuracy: 0.5700
## 519/524 [============================>.] - ETA: 0s - loss: 0.0628 - accuracy: 0.5691
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0628 - accuracy: 0.5684 - val_loss: 0.0545 - val_accuracy: 0.9315
## Epoch 14/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6875
##  19/524 [>.............................] - ETA: 1s - loss: 0.0579 - accuracy: 0.6266
##  36/524 [=>............................] - ETA: 1s - loss: 0.0603 - accuracy: 0.6042
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0610 - accuracy: 0.6079
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0611 - accuracy: 0.5973
##  88/524 [====>.........................] - ETA: 1s - loss: 0.0612 - accuracy: 0.5952
## 104/524 [====>.........................] - ETA: 1s - loss: 0.0615 - accuracy: 0.5934
## 120/524 [=====>........................] - ETA: 1s - loss: 0.0615 - accuracy: 0.5893
## 138/524 [======>.......................] - ETA: 1s - loss: 0.0621 - accuracy: 0.5822
## 155/524 [=======>......................] - ETA: 1s - loss: 0.0623 - accuracy: 0.5786
## 173/524 [========>.....................] - ETA: 1s - loss: 0.0622 - accuracy: 0.5775
## 191/524 [=========>....................] - ETA: 0s - loss: 0.0625 - accuracy: 0.5782
## 208/524 [==========>...................] - ETA: 0s - loss: 0.0626 - accuracy: 0.5751
## 226/524 [===========>..................] - ETA: 0s - loss: 0.0625 - accuracy: 0.5769
## 243/524 [============>.................] - ETA: 0s - loss: 0.0625 - accuracy: 0.5755
## 261/524 [=============>................] - ETA: 0s - loss: 0.0624 - accuracy: 0.5772
## 277/524 [==============>...............] - ETA: 0s - loss: 0.0623 - accuracy: 0.5769
## 294/524 [===============>..............] - ETA: 0s - loss: 0.0622 - accuracy: 0.5784
## 311/524 [================>.............] - ETA: 0s - loss: 0.0622 - accuracy: 0.5793
## 329/524 [=================>............] - ETA: 0s - loss: 0.0623 - accuracy: 0.5798
## 345/524 [==================>...........] - ETA: 0s - loss: 0.0623 - accuracy: 0.5801
## 363/524 [===================>..........] - ETA: 0s - loss: 0.0622 - accuracy: 0.5810
## 380/524 [====================>.........] - ETA: 0s - loss: 0.0623 - accuracy: 0.5799
## 396/524 [=====================>........] - ETA: 0s - loss: 0.0623 - accuracy: 0.5792
## 413/524 [======================>.......] - ETA: 0s - loss: 0.0623 - accuracy: 0.5801
## 431/524 [=======================>......] - ETA: 0s - loss: 0.0621 - accuracy: 0.5813
## 448/524 [========================>.....] - ETA: 0s - loss: 0.0621 - accuracy: 0.5805
## 465/524 [=========================>....] - ETA: 0s - loss: 0.0621 - accuracy: 0.5807
## 478/524 [==========================>...] - ETA: 0s - loss: 0.0620 - accuracy: 0.5820
## 488/524 [==========================>...] - ETA: 0s - loss: 0.0621 - accuracy: 0.5825
## 499/524 [===========================>..] - ETA: 0s - loss: 0.0621 - accuracy: 0.5822
## 514/524 [============================>.] - ETA: 0s - loss: 0.0621 - accuracy: 0.5822
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0621 - accuracy: 0.5823 - val_loss: 0.0593 - val_accuracy: 0.9091
## Epoch 15/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0598 - accuracy: 0.7500
##  19/524 [>.............................] - ETA: 1s - loss: 0.0578 - accuracy: 0.6694
##  36/524 [=>............................] - ETA: 1s - loss: 0.0610 - accuracy: 0.6172
##  54/524 [==>...........................] - ETA: 1s - loss: 0.0615 - accuracy: 0.6157
##  71/524 [===>..........................] - ETA: 1s - loss: 0.0616 - accuracy: 0.6052
##  89/524 [====>.........................] - ETA: 1s - loss: 0.0613 - accuracy: 0.6036
## 106/524 [=====>........................] - ETA: 1s - loss: 0.0609 - accuracy: 0.6058
## 124/524 [======>.......................] - ETA: 1s - loss: 0.0611 - accuracy: 0.6046
## 142/524 [=======>......................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5964
## 158/524 [========>.....................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5902
## 175/524 [=========>....................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5913
## 192/524 [=========>....................] - ETA: 0s - loss: 0.0615 - accuracy: 0.5931
## 209/524 [==========>...................] - ETA: 0s - loss: 0.0617 - accuracy: 0.5924
## 227/524 [===========>..................] - ETA: 0s - loss: 0.0617 - accuracy: 0.5924
## 245/524 [=============>................] - ETA: 0s - loss: 0.0618 - accuracy: 0.5931
## 262/524 [==============>...............] - ETA: 0s - loss: 0.0620 - accuracy: 0.5892
## 279/524 [==============>...............] - ETA: 0s - loss: 0.0620 - accuracy: 0.5873
## 297/524 [================>.............] - ETA: 0s - loss: 0.0622 - accuracy: 0.5868
## 314/524 [================>.............] - ETA: 0s - loss: 0.0621 - accuracy: 0.5861
## 328/524 [=================>............] - ETA: 0s - loss: 0.0620 - accuracy: 0.5859
## 344/524 [==================>...........] - ETA: 0s - loss: 0.0620 - accuracy: 0.5851
## 361/524 [===================>..........] - ETA: 0s - loss: 0.0619 - accuracy: 0.5864
## 378/524 [====================>.........] - ETA: 0s - loss: 0.0620 - accuracy: 0.5861
## 395/524 [=====================>........] - ETA: 0s - loss: 0.0619 - accuracy: 0.5883
## 413/524 [======================>.......] - ETA: 0s - loss: 0.0619 - accuracy: 0.5869
## 430/524 [=======================>......] - ETA: 0s - loss: 0.0619 - accuracy: 0.5874
## 448/524 [========================>.....] - ETA: 0s - loss: 0.0618 - accuracy: 0.5878
## 466/524 [=========================>....] - ETA: 0s - loss: 0.0619 - accuracy: 0.5887
## 483/524 [==========================>...] - ETA: 0s - loss: 0.0619 - accuracy: 0.5880
## 501/524 [===========================>..] - ETA: 0s - loss: 0.0619 - accuracy: 0.5894
## 518/524 [============================>.] - ETA: 0s - loss: 0.0619 - accuracy: 0.5885
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0619 - accuracy: 0.5890 - val_loss: 0.0528 - val_accuracy: 0.9337
## Epoch 16/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0621 - accuracy: 0.5625
##  18/524 [>.............................] - ETA: 1s - loss: 0.0650 - accuracy: 0.5451
##  36/524 [=>............................] - ETA: 1s - loss: 0.0627 - accuracy: 0.5703
##  52/524 [=>............................] - ETA: 1s - loss: 0.0622 - accuracy: 0.5757
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0617 - accuracy: 0.5826
##  87/524 [===>..........................] - ETA: 1s - loss: 0.0619 - accuracy: 0.5779
## 105/524 [=====>........................] - ETA: 1s - loss: 0.0619 - accuracy: 0.5830
## 122/524 [=====>........................] - ETA: 1s - loss: 0.0615 - accuracy: 0.5848
## 140/524 [=======>......................] - ETA: 1s - loss: 0.0617 - accuracy: 0.5837
## 157/524 [=======>......................] - ETA: 1s - loss: 0.0617 - accuracy: 0.5886
## 171/524 [========>.....................] - ETA: 1s - loss: 0.0615 - accuracy: 0.5905
## 187/524 [=========>....................] - ETA: 1s - loss: 0.0614 - accuracy: 0.5932
## 205/524 [==========>...................] - ETA: 0s - loss: 0.0613 - accuracy: 0.5912
## 222/524 [===========>..................] - ETA: 0s - loss: 0.0614 - accuracy: 0.5899
## 240/524 [============>.................] - ETA: 0s - loss: 0.0615 - accuracy: 0.5905
## 258/524 [=============>................] - ETA: 0s - loss: 0.0616 - accuracy: 0.5898
## 276/524 [==============>...............] - ETA: 0s - loss: 0.0616 - accuracy: 0.5892
## 291/524 [===============>..............] - ETA: 0s - loss: 0.0615 - accuracy: 0.5910
## 306/524 [================>.............] - ETA: 0s - loss: 0.0616 - accuracy: 0.5898
## 323/524 [=================>............] - ETA: 0s - loss: 0.0618 - accuracy: 0.5870
## 341/524 [==================>...........] - ETA: 0s - loss: 0.0619 - accuracy: 0.5866
## 359/524 [===================>..........] - ETA: 0s - loss: 0.0619 - accuracy: 0.5878
## 377/524 [====================>.........] - ETA: 0s - loss: 0.0618 - accuracy: 0.5876
## 394/524 [=====================>........] - ETA: 0s - loss: 0.0618 - accuracy: 0.5872
## 412/524 [======================>.......] - ETA: 0s - loss: 0.0619 - accuracy: 0.5862
## 429/524 [=======================>......] - ETA: 0s - loss: 0.0618 - accuracy: 0.5865
## 445/524 [========================>.....] - ETA: 0s - loss: 0.0618 - accuracy: 0.5884
## 462/524 [=========================>....] - ETA: 0s - loss: 0.0618 - accuracy: 0.5875
## 479/524 [==========================>...] - ETA: 0s - loss: 0.0619 - accuracy: 0.5861
## 496/524 [===========================>..] - ETA: 0s - loss: 0.0618 - accuracy: 0.5852
## 513/524 [============================>.] - ETA: 0s - loss: 0.0617 - accuracy: 0.5873
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0617 - accuracy: 0.5877 - val_loss: 0.0521 - val_accuracy: 0.9315
## Epoch 17/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0675 - accuracy: 0.7500
##  18/524 [>.............................] - ETA: 1s - loss: 0.0611 - accuracy: 0.6163
##  35/524 [=>............................] - ETA: 1s - loss: 0.0608 - accuracy: 0.5938
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0611 - accuracy: 0.5973
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0612 - accuracy: 0.5942
##  88/524 [====>.........................] - ETA: 1s - loss: 0.0614 - accuracy: 0.5888
## 106/524 [=====>........................] - ETA: 1s - loss: 0.0615 - accuracy: 0.5920
## 124/524 [======>.......................] - ETA: 1s - loss: 0.0621 - accuracy: 0.5874
## 141/524 [=======>......................] - ETA: 1s - loss: 0.0620 - accuracy: 0.5862
## 158/524 [========>.....................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5866
## 176/524 [=========>....................] - ETA: 1s - loss: 0.0614 - accuracy: 0.5879
## 193/524 [==========>...................] - ETA: 0s - loss: 0.0613 - accuracy: 0.5903
## 210/524 [===========>..................] - ETA: 0s - loss: 0.0612 - accuracy: 0.5961
## 226/524 [===========>..................] - ETA: 0s - loss: 0.0611 - accuracy: 0.5973
## 239/524 [============>.................] - ETA: 0s - loss: 0.0610 - accuracy: 0.5981
## 254/524 [=============>................] - ETA: 0s - loss: 0.0609 - accuracy: 0.5988
## 271/524 [==============>...............] - ETA: 0s - loss: 0.0612 - accuracy: 0.5964
## 288/524 [===============>..............] - ETA: 0s - loss: 0.0613 - accuracy: 0.5980
## 305/524 [================>.............] - ETA: 0s - loss: 0.0615 - accuracy: 0.5959
## 322/524 [=================>............] - ETA: 0s - loss: 0.0614 - accuracy: 0.5940
## 339/524 [==================>...........] - ETA: 0s - loss: 0.0615 - accuracy: 0.5926
## 357/524 [===================>..........] - ETA: 0s - loss: 0.0615 - accuracy: 0.5909
## 374/524 [====================>.........] - ETA: 0s - loss: 0.0617 - accuracy: 0.5928
## 392/524 [=====================>........] - ETA: 0s - loss: 0.0617 - accuracy: 0.5926
## 408/524 [======================>.......] - ETA: 0s - loss: 0.0616 - accuracy: 0.5931
## 426/524 [=======================>......] - ETA: 0s - loss: 0.0615 - accuracy: 0.5925
## 443/524 [========================>.....] - ETA: 0s - loss: 0.0614 - accuracy: 0.5937
## 460/524 [=========================>....] - ETA: 0s - loss: 0.0613 - accuracy: 0.5950
## 477/524 [==========================>...] - ETA: 0s - loss: 0.0614 - accuracy: 0.5957
## 494/524 [===========================>..] - ETA: 0s - loss: 0.0615 - accuracy: 0.5939
## 511/524 [============================>.] - ETA: 0s - loss: 0.0615 - accuracy: 0.5936
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0615 - accuracy: 0.5936 - val_loss: 0.0504 - val_accuracy: 0.9439
## Epoch 18/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0575 - accuracy: 0.6562
##  19/524 [>.............................] - ETA: 1s - loss: 0.0601 - accuracy: 0.6102
##  37/524 [=>............................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6275
##  54/524 [==>...........................] - ETA: 1s - loss: 0.0598 - accuracy: 0.6215
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0608 - accuracy: 0.6062
##  87/524 [===>..........................] - ETA: 1s - loss: 0.0604 - accuracy: 0.6135
## 105/524 [=====>........................] - ETA: 1s - loss: 0.0608 - accuracy: 0.6062
## 122/524 [=====>........................] - ETA: 1s - loss: 0.0611 - accuracy: 0.6014
## 139/524 [======>.......................] - ETA: 1s - loss: 0.0614 - accuracy: 0.6000
## 156/524 [=======>......................] - ETA: 1s - loss: 0.0613 - accuracy: 0.6004
## 174/524 [========>.....................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5977
## 191/524 [=========>....................] - ETA: 0s - loss: 0.0616 - accuracy: 0.5982
## 209/524 [==========>...................] - ETA: 0s - loss: 0.0616 - accuracy: 0.5988
## 226/524 [===========>..................] - ETA: 0s - loss: 0.0615 - accuracy: 0.5983
## 244/524 [============>.................] - ETA: 0s - loss: 0.0613 - accuracy: 0.5987
## 261/524 [=============>................] - ETA: 0s - loss: 0.0611 - accuracy: 0.6018
## 278/524 [==============>...............] - ETA: 0s - loss: 0.0611 - accuracy: 0.6016
## 295/524 [===============>..............] - ETA: 0s - loss: 0.0612 - accuracy: 0.5989
## 313/524 [================>.............] - ETA: 0s - loss: 0.0615 - accuracy: 0.6002
## 329/524 [=================>............] - ETA: 0s - loss: 0.0614 - accuracy: 0.6016
## 347/524 [==================>...........] - ETA: 0s - loss: 0.0614 - accuracy: 0.6005
## 365/524 [===================>..........] - ETA: 0s - loss: 0.0614 - accuracy: 0.6009
## 381/524 [====================>.........] - ETA: 0s - loss: 0.0615 - accuracy: 0.5999
## 397/524 [=====================>........] - ETA: 0s - loss: 0.0614 - accuracy: 0.6013
## 415/524 [======================>.......] - ETA: 0s - loss: 0.0613 - accuracy: 0.6006
## 432/524 [=======================>......] - ETA: 0s - loss: 0.0612 - accuracy: 0.6013
## 450/524 [========================>.....] - ETA: 0s - loss: 0.0610 - accuracy: 0.6042
## 468/524 [=========================>....] - ETA: 0s - loss: 0.0609 - accuracy: 0.6055
## 485/524 [==========================>...] - ETA: 0s - loss: 0.0608 - accuracy: 0.6064
## 502/524 [===========================>..] - ETA: 0s - loss: 0.0609 - accuracy: 0.6066
## 519/524 [============================>.] - ETA: 0s - loss: 0.0610 - accuracy: 0.6064
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0611 - accuracy: 0.6055 - val_loss: 0.0513 - val_accuracy: 0.9363
## Epoch 19/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0458 - accuracy: 0.6562
##  17/524 [..............................] - ETA: 1s - loss: 0.0588 - accuracy: 0.5919
##  34/524 [>.............................] - ETA: 1s - loss: 0.0599 - accuracy: 0.5919
##  51/524 [=>............................] - ETA: 1s - loss: 0.0601 - accuracy: 0.5858
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0602 - accuracy: 0.5965
##  86/524 [===>..........................] - ETA: 1s - loss: 0.0606 - accuracy: 0.5970
## 103/524 [====>.........................] - ETA: 1s - loss: 0.0606 - accuracy: 0.5995
## 120/524 [=====>........................] - ETA: 1s - loss: 0.0605 - accuracy: 0.5982
## 137/524 [======>.......................] - ETA: 1s - loss: 0.0609 - accuracy: 0.5960
## 154/524 [=======>......................] - ETA: 1s - loss: 0.0603 - accuracy: 0.6019
## 171/524 [========>.....................] - ETA: 1s - loss: 0.0602 - accuracy: 0.6040
## 188/524 [=========>....................] - ETA: 1s - loss: 0.0601 - accuracy: 0.6079
## 206/524 [==========>...................] - ETA: 0s - loss: 0.0598 - accuracy: 0.6101
## 223/524 [===========>..................] - ETA: 0s - loss: 0.0599 - accuracy: 0.6079
## 240/524 [============>.................] - ETA: 0s - loss: 0.0600 - accuracy: 0.6089
## 256/524 [=============>................] - ETA: 0s - loss: 0.0600 - accuracy: 0.6091
## 273/524 [==============>...............] - ETA: 0s - loss: 0.0601 - accuracy: 0.6099
## 290/524 [===============>..............] - ETA: 0s - loss: 0.0603 - accuracy: 0.6112
## 307/524 [================>.............] - ETA: 0s - loss: 0.0603 - accuracy: 0.6096
## 325/524 [=================>............] - ETA: 0s - loss: 0.0605 - accuracy: 0.6094
## 342/524 [==================>...........] - ETA: 0s - loss: 0.0606 - accuracy: 0.6076
## 359/524 [===================>..........] - ETA: 0s - loss: 0.0606 - accuracy: 0.6070
## 376/524 [====================>.........] - ETA: 0s - loss: 0.0605 - accuracy: 0.6073
## 394/524 [=====================>........] - ETA: 0s - loss: 0.0606 - accuracy: 0.6070
## 411/524 [======================>.......] - ETA: 0s - loss: 0.0608 - accuracy: 0.6063
## 429/524 [=======================>......] - ETA: 0s - loss: 0.0608 - accuracy: 0.6049
## 447/524 [========================>.....] - ETA: 0s - loss: 0.0609 - accuracy: 0.6041
## 464/524 [=========================>....] - ETA: 0s - loss: 0.0609 - accuracy: 0.6029
## 481/524 [==========================>...] - ETA: 0s - loss: 0.0609 - accuracy: 0.6015
## 499/524 [===========================>..] - ETA: 0s - loss: 0.0609 - accuracy: 0.6011
## 516/524 [============================>.] - ETA: 0s - loss: 0.0609 - accuracy: 0.6011
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0608 - accuracy: 0.6010 - val_loss: 0.0593 - val_accuracy: 0.8960
## Epoch 20/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0615 - accuracy: 0.6562
##  19/524 [>.............................] - ETA: 1s - loss: 0.0637 - accuracy: 0.6365
##  36/524 [=>............................] - ETA: 1s - loss: 0.0621 - accuracy: 0.6215
##  54/524 [==>...........................] - ETA: 1s - loss: 0.0621 - accuracy: 0.6076
##  71/524 [===>..........................] - ETA: 1s - loss: 0.0619 - accuracy: 0.6008
##  89/524 [====>.........................] - ETA: 1s - loss: 0.0620 - accuracy: 0.6036
## 106/524 [=====>........................] - ETA: 1s - loss: 0.0612 - accuracy: 0.6067
## 124/524 [======>.......................] - ETA: 1s - loss: 0.0610 - accuracy: 0.6053
## 142/524 [=======>......................] - ETA: 1s - loss: 0.0614 - accuracy: 0.6032
## 160/524 [========>.....................] - ETA: 1s - loss: 0.0612 - accuracy: 0.6031
## 177/524 [=========>....................] - ETA: 1s - loss: 0.0610 - accuracy: 0.5999
## 194/524 [==========>...................] - ETA: 0s - loss: 0.0610 - accuracy: 0.5954
## 210/524 [===========>..................] - ETA: 0s - loss: 0.0612 - accuracy: 0.5966
## 228/524 [============>.................] - ETA: 0s - loss: 0.0613 - accuracy: 0.5959
## 245/524 [=============>................] - ETA: 0s - loss: 0.0613 - accuracy: 0.5983
## 262/524 [==============>...............] - ETA: 0s - loss: 0.0613 - accuracy: 0.5979
## 280/524 [===============>..............] - ETA: 0s - loss: 0.0614 - accuracy: 0.5953
## 298/524 [================>.............] - ETA: 0s - loss: 0.0613 - accuracy: 0.5968
## 315/524 [=================>............] - ETA: 0s - loss: 0.0613 - accuracy: 0.5957
## 333/524 [==================>...........] - ETA: 0s - loss: 0.0613 - accuracy: 0.5949
## 351/524 [===================>..........] - ETA: 0s - loss: 0.0613 - accuracy: 0.5945
## 368/524 [====================>.........] - ETA: 0s - loss: 0.0614 - accuracy: 0.5940
## 386/524 [=====================>........] - ETA: 0s - loss: 0.0612 - accuracy: 0.5948
## 403/524 [======================>.......] - ETA: 0s - loss: 0.0611 - accuracy: 0.5959
## 421/524 [=======================>......] - ETA: 0s - loss: 0.0610 - accuracy: 0.5978
## 438/524 [========================>.....] - ETA: 0s - loss: 0.0610 - accuracy: 0.5985
## 456/524 [=========================>....] - ETA: 0s - loss: 0.0610 - accuracy: 0.6003
## 472/524 [==========================>...] - ETA: 0s - loss: 0.0610 - accuracy: 0.6006
## 490/524 [===========================>..] - ETA: 0s - loss: 0.0611 - accuracy: 0.6002
## 507/524 [============================>.] - ETA: 0s - loss: 0.0612 - accuracy: 0.5994
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0611 - accuracy: 0.5998 - val_loss: 0.0520 - val_accuracy: 0.9265
## Epoch 21/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0584 - accuracy: 0.7500
##  17/524 [..............................] - ETA: 1s - loss: 0.0589 - accuracy: 0.6029
##  34/524 [>.............................] - ETA: 1s - loss: 0.0595 - accuracy: 0.6121
##  51/524 [=>............................] - ETA: 1s - loss: 0.0596 - accuracy: 0.6152
##  68/524 [==>...........................] - ETA: 1s - loss: 0.0595 - accuracy: 0.6094
##  85/524 [===>..........................] - ETA: 1s - loss: 0.0594 - accuracy: 0.6092
## 100/524 [====>.........................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6109
## 118/524 [=====>........................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6128
## 136/524 [======>.......................] - ETA: 1s - loss: 0.0597 - accuracy: 0.6126
## 153/524 [=======>......................] - ETA: 1s - loss: 0.0599 - accuracy: 0.6123
## 170/524 [========>.....................] - ETA: 1s - loss: 0.0600 - accuracy: 0.6112
## 188/524 [=========>....................] - ETA: 1s - loss: 0.0600 - accuracy: 0.6120
## 205/524 [==========>...................] - ETA: 0s - loss: 0.0599 - accuracy: 0.6128
## 223/524 [===========>..................] - ETA: 0s - loss: 0.0600 - accuracy: 0.6111
## 240/524 [============>.................] - ETA: 0s - loss: 0.0599 - accuracy: 0.6125
## 257/524 [=============>................] - ETA: 0s - loss: 0.0599 - accuracy: 0.6131
## 274/524 [==============>...............] - ETA: 0s - loss: 0.0599 - accuracy: 0.6128
## 291/524 [===============>..............] - ETA: 0s - loss: 0.0600 - accuracy: 0.6128
## 308/524 [================>.............] - ETA: 0s - loss: 0.0599 - accuracy: 0.6131
## 326/524 [=================>............] - ETA: 0s - loss: 0.0599 - accuracy: 0.6127
## 342/524 [==================>...........] - ETA: 0s - loss: 0.0598 - accuracy: 0.6128
## 360/524 [===================>..........] - ETA: 0s - loss: 0.0599 - accuracy: 0.6129
## 378/524 [====================>.........] - ETA: 0s - loss: 0.0599 - accuracy: 0.6123
## 395/524 [=====================>........] - ETA: 0s - loss: 0.0599 - accuracy: 0.6139
## 413/524 [======================>.......] - ETA: 0s - loss: 0.0600 - accuracy: 0.6140
## 430/524 [=======================>......] - ETA: 0s - loss: 0.0601 - accuracy: 0.6127
## 447/524 [========================>.....] - ETA: 0s - loss: 0.0601 - accuracy: 0.6120
## 465/524 [=========================>....] - ETA: 0s - loss: 0.0601 - accuracy: 0.6122
## 482/524 [==========================>...] - ETA: 0s - loss: 0.0601 - accuracy: 0.6122
## 500/524 [===========================>..] - ETA: 0s - loss: 0.0602 - accuracy: 0.6116
## 517/524 [============================>.] - ETA: 0s - loss: 0.0601 - accuracy: 0.6117
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0602 - accuracy: 0.6117 - val_loss: 0.0526 - val_accuracy: 0.9127
## Epoch 22/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0531 - accuracy: 0.7500
##  18/524 [>.............................] - ETA: 1s - loss: 0.0577 - accuracy: 0.6406
##  34/524 [>.............................] - ETA: 1s - loss: 0.0577 - accuracy: 0.6232
##  51/524 [=>............................] - ETA: 1s - loss: 0.0590 - accuracy: 0.6317
##  67/524 [==>...........................] - ETA: 1s - loss: 0.0595 - accuracy: 0.6292
##  82/524 [===>..........................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6284
## 100/524 [====>.........................] - ETA: 1s - loss: 0.0599 - accuracy: 0.6228
## 116/524 [=====>........................] - ETA: 1s - loss: 0.0599 - accuracy: 0.6215
## 133/524 [======>.......................] - ETA: 1s - loss: 0.0600 - accuracy: 0.6189
## 150/524 [=======>......................] - ETA: 1s - loss: 0.0602 - accuracy: 0.6173
## 168/524 [========>.....................] - ETA: 1s - loss: 0.0600 - accuracy: 0.6151
## 186/524 [=========>....................] - ETA: 1s - loss: 0.0603 - accuracy: 0.6148
## 203/524 [==========>...................] - ETA: 0s - loss: 0.0604 - accuracy: 0.6145
## 220/524 [===========>..................] - ETA: 0s - loss: 0.0604 - accuracy: 0.6152
## 238/524 [============>.................] - ETA: 0s - loss: 0.0604 - accuracy: 0.6140
## 255/524 [=============>................] - ETA: 0s - loss: 0.0603 - accuracy: 0.6156
## 273/524 [==============>...............] - ETA: 0s - loss: 0.0603 - accuracy: 0.6162
## 289/524 [===============>..............] - ETA: 0s - loss: 0.0601 - accuracy: 0.6179
## 306/524 [================>.............] - ETA: 0s - loss: 0.0603 - accuracy: 0.6169
## 324/524 [=================>............] - ETA: 0s - loss: 0.0603 - accuracy: 0.6156
## 341/524 [==================>...........] - ETA: 0s - loss: 0.0603 - accuracy: 0.6170
## 358/524 [===================>..........] - ETA: 0s - loss: 0.0604 - accuracy: 0.6167
## 376/524 [====================>.........] - ETA: 0s - loss: 0.0603 - accuracy: 0.6164
## 393/524 [=====================>........] - ETA: 0s - loss: 0.0604 - accuracy: 0.6162
## 410/524 [======================>.......] - ETA: 0s - loss: 0.0602 - accuracy: 0.6175
## 427/524 [=======================>......] - ETA: 0s - loss: 0.0602 - accuracy: 0.6178
## 444/524 [========================>.....] - ETA: 0s - loss: 0.0602 - accuracy: 0.6192
## 461/524 [=========================>....] - ETA: 0s - loss: 0.0603 - accuracy: 0.6185
## 479/524 [==========================>...] - ETA: 0s - loss: 0.0602 - accuracy: 0.6184
## 497/524 [===========================>..] - ETA: 0s - loss: 0.0602 - accuracy: 0.6182
## 514/524 [============================>.] - ETA: 0s - loss: 0.0603 - accuracy: 0.6187
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0603 - accuracy: 0.6179 - val_loss: 0.0503 - val_accuracy: 0.9292
## Epoch 23/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0595 - accuracy: 0.5625
##  19/524 [>.............................] - ETA: 1s - loss: 0.0601 - accuracy: 0.6250
##  37/524 [=>............................] - ETA: 1s - loss: 0.0605 - accuracy: 0.6132
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0600 - accuracy: 0.6150
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0600 - accuracy: 0.6134
##  87/524 [===>..........................] - ETA: 1s - loss: 0.0597 - accuracy: 0.6146
## 103/524 [====>.........................] - ETA: 1s - loss: 0.0594 - accuracy: 0.6171
## 121/524 [=====>........................] - ETA: 1s - loss: 0.0592 - accuracy: 0.6245
## 138/524 [======>.......................] - ETA: 1s - loss: 0.0590 - accuracy: 0.6270
## 154/524 [=======>......................] - ETA: 1s - loss: 0.0595 - accuracy: 0.6238
## 171/524 [========>.....................] - ETA: 1s - loss: 0.0595 - accuracy: 0.6208
## 189/524 [=========>....................] - ETA: 1s - loss: 0.0596 - accuracy: 0.6190
## 207/524 [==========>...................] - ETA: 0s - loss: 0.0598 - accuracy: 0.6171
## 225/524 [===========>..................] - ETA: 0s - loss: 0.0599 - accuracy: 0.6176
## 242/524 [============>.................] - ETA: 0s - loss: 0.0599 - accuracy: 0.6184
## 260/524 [=============>................] - ETA: 0s - loss: 0.0600 - accuracy: 0.6174
## 277/524 [==============>...............] - ETA: 0s - loss: 0.0601 - accuracy: 0.6171
## 293/524 [===============>..............] - ETA: 0s - loss: 0.0601 - accuracy: 0.6191
## 311/524 [================>.............] - ETA: 0s - loss: 0.0600 - accuracy: 0.6173
## 329/524 [=================>............] - ETA: 0s - loss: 0.0601 - accuracy: 0.6177
## 346/524 [==================>...........] - ETA: 0s - loss: 0.0600 - accuracy: 0.6195
## 364/524 [===================>..........] - ETA: 0s - loss: 0.0601 - accuracy: 0.6170
## 381/524 [====================>.........] - ETA: 0s - loss: 0.0601 - accuracy: 0.6175
## 398/524 [=====================>........] - ETA: 0s - loss: 0.0600 - accuracy: 0.6177
## 414/524 [======================>.......] - ETA: 0s - loss: 0.0599 - accuracy: 0.6183
## 431/524 [=======================>......] - ETA: 0s - loss: 0.0600 - accuracy: 0.6186
## 448/524 [========================>.....] - ETA: 0s - loss: 0.0602 - accuracy: 0.6176
## 466/524 [=========================>....] - ETA: 0s - loss: 0.0602 - accuracy: 0.6156
## 484/524 [==========================>...] - ETA: 0s - loss: 0.0602 - accuracy: 0.6149
## 502/524 [===========================>..] - ETA: 0s - loss: 0.0603 - accuracy: 0.6138
## 520/524 [============================>.] - ETA: 0s - loss: 0.0604 - accuracy: 0.6115
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0604 - accuracy: 0.6109 - val_loss: 0.0477 - val_accuracy: 0.9382
## Epoch 24/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0556 - accuracy: 0.5625
##  19/524 [>.............................] - ETA: 1s - loss: 0.0564 - accuracy: 0.6414
##  36/524 [=>............................] - ETA: 1s - loss: 0.0558 - accuracy: 0.6276
##  52/524 [=>............................] - ETA: 1s - loss: 0.0572 - accuracy: 0.6334
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0588 - accuracy: 0.6268
##  86/524 [===>..........................] - ETA: 1s - loss: 0.0585 - accuracy: 0.6286
## 104/524 [====>.........................] - ETA: 1s - loss: 0.0589 - accuracy: 0.6220
## 122/524 [=====>........................] - ETA: 1s - loss: 0.0591 - accuracy: 0.6222
## 140/524 [=======>......................] - ETA: 1s - loss: 0.0594 - accuracy: 0.6217
## 157/524 [=======>......................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6208
## 174/524 [========>.....................] - ETA: 1s - loss: 0.0590 - accuracy: 0.6205
## 190/524 [=========>....................] - ETA: 1s - loss: 0.0592 - accuracy: 0.6215
## 208/524 [==========>...................] - ETA: 0s - loss: 0.0594 - accuracy: 0.6233
## 224/524 [===========>..................] - ETA: 0s - loss: 0.0595 - accuracy: 0.6221
## 230/524 [============>.................] - ETA: 0s - loss: 0.0595 - accuracy: 0.6215
## 241/524 [============>.................] - ETA: 0s - loss: 0.0595 - accuracy: 0.6193
## 254/524 [=============>................] - ETA: 0s - loss: 0.0594 - accuracy: 0.6191
## 266/524 [==============>...............] - ETA: 0s - loss: 0.0594 - accuracy: 0.6198
## 277/524 [==============>...............] - ETA: 0s - loss: 0.0596 - accuracy: 0.6196
## 288/524 [===============>..............] - ETA: 0s - loss: 0.0596 - accuracy: 0.6207
## 296/524 [===============>..............] - ETA: 0s - loss: 0.0598 - accuracy: 0.6202
## 308/524 [================>.............] - ETA: 0s - loss: 0.0598 - accuracy: 0.6206
## 317/524 [=================>............] - ETA: 0s - loss: 0.0598 - accuracy: 0.6206
## 324/524 [=================>............] - ETA: 0s - loss: 0.0598 - accuracy: 0.6208
## 333/524 [==================>...........] - ETA: 0s - loss: 0.0598 - accuracy: 0.6208
## 343/524 [==================>...........] - ETA: 0s - loss: 0.0599 - accuracy: 0.6195
## 352/524 [===================>..........] - ETA: 0s - loss: 0.0600 - accuracy: 0.6183
## 361/524 [===================>..........] - ETA: 0s - loss: 0.0600 - accuracy: 0.6184
## 371/524 [====================>.........] - ETA: 0s - loss: 0.0599 - accuracy: 0.6193
## 380/524 [====================>.........] - ETA: 0s - loss: 0.0599 - accuracy: 0.6189
## 391/524 [=====================>........] - ETA: 0s - loss: 0.0599 - accuracy: 0.6187
## 403/524 [======================>.......] - ETA: 0s - loss: 0.0600 - accuracy: 0.6176
## 415/524 [======================>.......] - ETA: 0s - loss: 0.0600 - accuracy: 0.6173
## 432/524 [=======================>......] - ETA: 0s - loss: 0.0601 - accuracy: 0.6166
## 444/524 [========================>.....] - ETA: 0s - loss: 0.0600 - accuracy: 0.6172
## 456/524 [=========================>....] - ETA: 0s - loss: 0.0600 - accuracy: 0.6169
## 472/524 [==========================>...] - ETA: 0s - loss: 0.0600 - accuracy: 0.6172
## 489/524 [==========================>...] - ETA: 0s - loss: 0.0600 - accuracy: 0.6164
## 506/524 [===========================>..] - ETA: 0s - loss: 0.0601 - accuracy: 0.6157
## 524/524 [==============================] - ETA: 0s - loss: 0.0601 - accuracy: 0.6148
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0601 - accuracy: 0.6148 - val_loss: 0.0478 - val_accuracy: 0.9349
## Epoch 25/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0632 - accuracy: 0.6562
##  18/524 [>.............................] - ETA: 1s - loss: 0.0582 - accuracy: 0.6319
##  36/524 [=>............................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6467
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0582 - accuracy: 0.6421
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0585 - accuracy: 0.6362
##  83/524 [===>..........................] - ETA: 1s - loss: 0.0587 - accuracy: 0.6359
##  94/524 [====>.........................] - ETA: 1s - loss: 0.0584 - accuracy: 0.6320
## 103/524 [====>.........................] - ETA: 1s - loss: 0.0586 - accuracy: 0.6292
## 112/524 [=====>........................] - ETA: 1s - loss: 0.0588 - accuracy: 0.6295
## 122/524 [=====>........................] - ETA: 1s - loss: 0.0592 - accuracy: 0.6286
## 131/524 [======>.......................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6279
## 143/524 [=======>......................] - ETA: 1s - loss: 0.0590 - accuracy: 0.6278
## 151/524 [=======>......................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6260
## 164/524 [========>.....................] - ETA: 1s - loss: 0.0594 - accuracy: 0.6244
## 175/524 [=========>....................] - ETA: 1s - loss: 0.0595 - accuracy: 0.6246
## 188/524 [=========>....................] - ETA: 1s - loss: 0.0598 - accuracy: 0.6235
## 202/524 [==========>...................] - ETA: 1s - loss: 0.0597 - accuracy: 0.6196
## 214/524 [===========>..................] - ETA: 1s - loss: 0.0596 - accuracy: 0.6196
## 227/524 [===========>..................] - ETA: 1s - loss: 0.0597 - accuracy: 0.6206
## 241/524 [============>.................] - ETA: 1s - loss: 0.0598 - accuracy: 0.6210
## 252/524 [=============>................] - ETA: 1s - loss: 0.0595 - accuracy: 0.6209
## 264/524 [==============>...............] - ETA: 1s - loss: 0.0596 - accuracy: 0.6214
## 279/524 [==============>...............] - ETA: 1s - loss: 0.0596 - accuracy: 0.6221
## 291/524 [===============>..............] - ETA: 0s - loss: 0.0595 - accuracy: 0.6226
## 305/524 [================>.............] - ETA: 0s - loss: 0.0596 - accuracy: 0.6215
## 318/524 [=================>............] - ETA: 0s - loss: 0.0597 - accuracy: 0.6209
## 330/524 [=================>............] - ETA: 0s - loss: 0.0598 - accuracy: 0.6212
## 342/524 [==================>...........] - ETA: 0s - loss: 0.0598 - accuracy: 0.6188
## 356/524 [===================>..........] - ETA: 0s - loss: 0.0598 - accuracy: 0.6162
## 370/524 [====================>.........] - ETA: 0s - loss: 0.0598 - accuracy: 0.6165
## 382/524 [====================>.........] - ETA: 0s - loss: 0.0598 - accuracy: 0.6160
## 394/524 [=====================>........] - ETA: 0s - loss: 0.0598 - accuracy: 0.6167
## 403/524 [======================>.......] - ETA: 0s - loss: 0.0598 - accuracy: 0.6171
## 413/524 [======================>.......] - ETA: 0s - loss: 0.0598 - accuracy: 0.6167
## 423/524 [=======================>......] - ETA: 0s - loss: 0.0597 - accuracy: 0.6175
## 431/524 [=======================>......] - ETA: 0s - loss: 0.0598 - accuracy: 0.6172
## 440/524 [========================>.....] - ETA: 0s - loss: 0.0597 - accuracy: 0.6177
## 449/524 [========================>.....] - ETA: 0s - loss: 0.0598 - accuracy: 0.6173
## 460/524 [=========================>....] - ETA: 0s - loss: 0.0598 - accuracy: 0.6183
## 470/524 [=========================>....] - ETA: 0s - loss: 0.0598 - accuracy: 0.6192
## 480/524 [==========================>...] - ETA: 0s - loss: 0.0598 - accuracy: 0.6182
## 490/524 [===========================>..] - ETA: 0s - loss: 0.0598 - accuracy: 0.6174
## 502/524 [===========================>..] - ETA: 0s - loss: 0.0598 - accuracy: 0.6185
## 513/524 [============================>.] - ETA: 0s - loss: 0.0598 - accuracy: 0.6181
## 522/524 [============================>.] - ETA: 0s - loss: 0.0597 - accuracy: 0.6181
## 524/524 [==============================] - 3s 5ms/step - loss: 0.0597 - accuracy: 0.6179 - val_loss: 0.0522 - val_accuracy: 0.9170
## Epoch 26/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0540 - accuracy: 0.7500
##  10/524 [..............................] - ETA: 3s - loss: 0.0564 - accuracy: 0.6500
##  21/524 [>.............................] - ETA: 2s - loss: 0.0578 - accuracy: 0.6027
##  32/524 [>.............................] - ETA: 2s - loss: 0.0576 - accuracy: 0.6299
##  44/524 [=>............................] - ETA: 2s - loss: 0.0573 - accuracy: 0.6342
##  60/524 [==>...........................] - ETA: 2s - loss: 0.0571 - accuracy: 0.6401
##  72/524 [===>..........................] - ETA: 1s - loss: 0.0577 - accuracy: 0.6337
##  85/524 [===>..........................] - ETA: 1s - loss: 0.0588 - accuracy: 0.6283
##  99/524 [====>.........................] - ETA: 1s - loss: 0.0589 - accuracy: 0.6241
## 113/524 [=====>........................] - ETA: 1s - loss: 0.0588 - accuracy: 0.6272
## 130/524 [======>.......................] - ETA: 1s - loss: 0.0589 - accuracy: 0.6269
## 147/524 [=======>......................] - ETA: 1s - loss: 0.0590 - accuracy: 0.6282
## 164/524 [========>.....................] - ETA: 1s - loss: 0.0592 - accuracy: 0.6286
## 182/524 [=========>....................] - ETA: 1s - loss: 0.0590 - accuracy: 0.6277
## 200/524 [==========>...................] - ETA: 1s - loss: 0.0589 - accuracy: 0.6277
## 216/524 [===========>..................] - ETA: 1s - loss: 0.0591 - accuracy: 0.6291
## 233/524 [============>.................] - ETA: 1s - loss: 0.0589 - accuracy: 0.6280
## 251/524 [=============>................] - ETA: 0s - loss: 0.0591 - accuracy: 0.6265
## 267/524 [==============>...............] - ETA: 0s - loss: 0.0591 - accuracy: 0.6266
## 282/524 [===============>..............] - ETA: 0s - loss: 0.0591 - accuracy: 0.6267
## 299/524 [================>.............] - ETA: 0s - loss: 0.0590 - accuracy: 0.6293
## 317/524 [=================>............] - ETA: 0s - loss: 0.0590 - accuracy: 0.6287
## 334/524 [==================>...........] - ETA: 0s - loss: 0.0589 - accuracy: 0.6316
## 351/524 [===================>..........] - ETA: 0s - loss: 0.0589 - accuracy: 0.6332
## 364/524 [===================>..........] - ETA: 0s - loss: 0.0589 - accuracy: 0.6334
## 381/524 [====================>.........] - ETA: 0s - loss: 0.0587 - accuracy: 0.6340
## 397/524 [=====================>........] - ETA: 0s - loss: 0.0587 - accuracy: 0.6355
## 415/524 [======================>.......] - ETA: 0s - loss: 0.0588 - accuracy: 0.6345
## 431/524 [=======================>......] - ETA: 0s - loss: 0.0589 - accuracy: 0.6333
## 448/524 [========================>.....] - ETA: 0s - loss: 0.0590 - accuracy: 0.6332
## 465/524 [=========================>....] - ETA: 0s - loss: 0.0590 - accuracy: 0.6335
## 483/524 [==========================>...] - ETA: 0s - loss: 0.0589 - accuracy: 0.6343
## 500/524 [===========================>..] - ETA: 0s - loss: 0.0588 - accuracy: 0.6349
## 517/524 [============================>.] - ETA: 0s - loss: 0.0589 - accuracy: 0.6350
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0589 - accuracy: 0.6350 - val_loss: 0.0473 - val_accuracy: 0.9275
## Epoch 27/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0570 - accuracy: 0.6562
##  19/524 [>.............................] - ETA: 1s - loss: 0.0613 - accuracy: 0.6431
##  35/524 [=>............................] - ETA: 1s - loss: 0.0625 - accuracy: 0.6268
##  52/524 [=>............................] - ETA: 1s - loss: 0.0604 - accuracy: 0.6322
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0597 - accuracy: 0.6210
##  86/524 [===>..........................] - ETA: 1s - loss: 0.0592 - accuracy: 0.6341
## 103/524 [====>.........................] - ETA: 1s - loss: 0.0586 - accuracy: 0.6417
## 120/524 [=====>........................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6409
## 138/524 [======>.......................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6363
## 156/524 [=======>......................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6362
## 172/524 [========>.....................] - ETA: 1s - loss: 0.0591 - accuracy: 0.6384
## 190/524 [=========>....................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6359
## 207/524 [==========>...................] - ETA: 0s - loss: 0.0595 - accuracy: 0.6324
## 222/524 [===========>..................] - ETA: 0s - loss: 0.0594 - accuracy: 0.6312
## 240/524 [============>.................] - ETA: 0s - loss: 0.0594 - accuracy: 0.6329
## 256/524 [=============>................] - ETA: 0s - loss: 0.0596 - accuracy: 0.6320
## 273/524 [==============>...............] - ETA: 0s - loss: 0.0596 - accuracy: 0.6291
## 291/524 [===============>..............] - ETA: 0s - loss: 0.0595 - accuracy: 0.6304
## 309/524 [================>.............] - ETA: 0s - loss: 0.0595 - accuracy: 0.6290
## 327/524 [=================>............] - ETA: 0s - loss: 0.0593 - accuracy: 0.6316
## 345/524 [==================>...........] - ETA: 0s - loss: 0.0595 - accuracy: 0.6315
## 362/524 [===================>..........] - ETA: 0s - loss: 0.0593 - accuracy: 0.6327
## 380/524 [====================>.........] - ETA: 0s - loss: 0.0593 - accuracy: 0.6336
## 397/524 [=====================>........] - ETA: 0s - loss: 0.0593 - accuracy: 0.6332
## 414/524 [======================>.......] - ETA: 0s - loss: 0.0593 - accuracy: 0.6322
## 431/524 [=======================>......] - ETA: 0s - loss: 0.0593 - accuracy: 0.6329
## 448/524 [========================>.....] - ETA: 0s - loss: 0.0593 - accuracy: 0.6328
## 465/524 [=========================>....] - ETA: 0s - loss: 0.0593 - accuracy: 0.6318
## 483/524 [==========================>...] - ETA: 0s - loss: 0.0593 - accuracy: 0.6317
## 500/524 [===========================>..] - ETA: 0s - loss: 0.0593 - accuracy: 0.6319
## 518/524 [============================>.] - ETA: 0s - loss: 0.0594 - accuracy: 0.6296
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0594 - accuracy: 0.6290 - val_loss: 0.0516 - val_accuracy: 0.9187
## Epoch 28/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0535 - accuracy: 0.7188
##  18/524 [>.............................] - ETA: 1s - loss: 0.0583 - accuracy: 0.6233
##  36/524 [=>............................] - ETA: 1s - loss: 0.0599 - accuracy: 0.6224
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0609 - accuracy: 0.6232
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0605 - accuracy: 0.6200
##  86/524 [===>..........................] - ETA: 1s - loss: 0.0602 - accuracy: 0.6159
## 103/524 [====>.........................] - ETA: 1s - loss: 0.0594 - accuracy: 0.6208
## 119/524 [=====>........................] - ETA: 1s - loss: 0.0595 - accuracy: 0.6271
## 135/524 [======>.......................] - ETA: 1s - loss: 0.0590 - accuracy: 0.6359
## 147/524 [=======>......................] - ETA: 1s - loss: 0.0588 - accuracy: 0.6401
## 161/524 [========>.....................] - ETA: 1s - loss: 0.0590 - accuracy: 0.6384
## 178/524 [=========>....................] - ETA: 1s - loss: 0.0592 - accuracy: 0.6350
## 195/524 [==========>...................] - ETA: 1s - loss: 0.0595 - accuracy: 0.6295
## 210/524 [===========>..................] - ETA: 1s - loss: 0.0595 - accuracy: 0.6283
## 227/524 [===========>..................] - ETA: 0s - loss: 0.0595 - accuracy: 0.6279
## 244/524 [============>.................] - ETA: 0s - loss: 0.0596 - accuracy: 0.6255
## 261/524 [=============>................] - ETA: 0s - loss: 0.0595 - accuracy: 0.6269
## 277/524 [==============>...............] - ETA: 0s - loss: 0.0595 - accuracy: 0.6276
## 294/524 [===============>..............] - ETA: 0s - loss: 0.0595 - accuracy: 0.6282
## 312/524 [================>.............] - ETA: 0s - loss: 0.0594 - accuracy: 0.6282
## 326/524 [=================>............] - ETA: 0s - loss: 0.0593 - accuracy: 0.6281
## 342/524 [==================>...........] - ETA: 0s - loss: 0.0591 - accuracy: 0.6292
## 360/524 [===================>..........] - ETA: 0s - loss: 0.0592 - accuracy: 0.6280
## 376/524 [====================>.........] - ETA: 0s - loss: 0.0592 - accuracy: 0.6288
## 388/524 [=====================>........] - ETA: 0s - loss: 0.0592 - accuracy: 0.6304
## 398/524 [=====================>........] - ETA: 0s - loss: 0.0592 - accuracy: 0.6307
## 411/524 [======================>.......] - ETA: 0s - loss: 0.0592 - accuracy: 0.6304
## 421/524 [=======================>......] - ETA: 0s - loss: 0.0593 - accuracy: 0.6302
## 435/524 [=======================>......] - ETA: 0s - loss: 0.0592 - accuracy: 0.6308
## 444/524 [========================>.....] - ETA: 0s - loss: 0.0591 - accuracy: 0.6306
## 454/524 [========================>.....] - ETA: 0s - loss: 0.0592 - accuracy: 0.6313
## 466/524 [=========================>....] - ETA: 0s - loss: 0.0592 - accuracy: 0.6310
## 477/524 [==========================>...] - ETA: 0s - loss: 0.0592 - accuracy: 0.6314
## 487/524 [==========================>...] - ETA: 0s - loss: 0.0591 - accuracy: 0.6317
## 501/524 [===========================>..] - ETA: 0s - loss: 0.0590 - accuracy: 0.6323
## 512/524 [============================>.] - ETA: 0s - loss: 0.0592 - accuracy: 0.6317
## 519/524 [============================>.] - ETA: 0s - loss: 0.0592 - accuracy: 0.6313
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0591 - accuracy: 0.6310 - val_loss: 0.0482 - val_accuracy: 0.9263
## Epoch 29/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0546 - accuracy: 0.6562
##  14/524 [..............................] - ETA: 2s - loss: 0.0563 - accuracy: 0.6317
##  27/524 [>.............................] - ETA: 1s - loss: 0.0581 - accuracy: 0.6366
##  38/524 [=>............................] - ETA: 2s - loss: 0.0566 - accuracy: 0.6365
##  49/524 [=>............................] - ETA: 2s - loss: 0.0586 - accuracy: 0.6307
##  62/524 [==>...........................] - ETA: 1s - loss: 0.0584 - accuracy: 0.6310
##  73/524 [===>..........................] - ETA: 1s - loss: 0.0586 - accuracy: 0.6259
##  86/524 [===>..........................] - ETA: 1s - loss: 0.0585 - accuracy: 0.6275
##  99/524 [====>.........................] - ETA: 1s - loss: 0.0585 - accuracy: 0.6304
## 113/524 [=====>........................] - ETA: 1s - loss: 0.0583 - accuracy: 0.6374
## 126/524 [======>.......................] - ETA: 1s - loss: 0.0584 - accuracy: 0.6409
## 138/524 [======>.......................] - ETA: 1s - loss: 0.0584 - accuracy: 0.6429
## 151/524 [=======>......................] - ETA: 1s - loss: 0.0586 - accuracy: 0.6393
## 164/524 [========>.....................] - ETA: 1s - loss: 0.0586 - accuracy: 0.6357
## 177/524 [=========>....................] - ETA: 1s - loss: 0.0586 - accuracy: 0.6382
## 191/524 [=========>....................] - ETA: 1s - loss: 0.0585 - accuracy: 0.6384
## 204/524 [==========>...................] - ETA: 1s - loss: 0.0584 - accuracy: 0.6409
## 218/524 [===========>..................] - ETA: 1s - loss: 0.0585 - accuracy: 0.6396
## 230/524 [============>.................] - ETA: 1s - loss: 0.0585 - accuracy: 0.6383
## 243/524 [============>.................] - ETA: 1s - loss: 0.0585 - accuracy: 0.6402
## 257/524 [=============>................] - ETA: 1s - loss: 0.0584 - accuracy: 0.6409
## 270/524 [==============>...............] - ETA: 1s - loss: 0.0584 - accuracy: 0.6414
## 284/524 [===============>..............] - ETA: 0s - loss: 0.0584 - accuracy: 0.6419
## 299/524 [================>.............] - ETA: 0s - loss: 0.0586 - accuracy: 0.6407
## 314/524 [================>.............] - ETA: 0s - loss: 0.0586 - accuracy: 0.6405
## 328/524 [=================>............] - ETA: 0s - loss: 0.0587 - accuracy: 0.6376
## 342/524 [==================>...........] - ETA: 0s - loss: 0.0587 - accuracy: 0.6361
## 355/524 [===================>..........] - ETA: 0s - loss: 0.0588 - accuracy: 0.6363
## 369/524 [====================>.........] - ETA: 0s - loss: 0.0589 - accuracy: 0.6370
## 384/524 [====================>.........] - ETA: 0s - loss: 0.0589 - accuracy: 0.6361
## 398/524 [=====================>........] - ETA: 0s - loss: 0.0589 - accuracy: 0.6358
## 412/524 [======================>.......] - ETA: 0s - loss: 0.0587 - accuracy: 0.6368
## 427/524 [=======================>......] - ETA: 0s - loss: 0.0588 - accuracy: 0.6374
## 441/524 [========================>.....] - ETA: 0s - loss: 0.0587 - accuracy: 0.6381
## 453/524 [========================>.....] - ETA: 0s - loss: 0.0588 - accuracy: 0.6381
## 467/524 [=========================>....] - ETA: 0s - loss: 0.0588 - accuracy: 0.6378
## 481/524 [==========================>...] - ETA: 0s - loss: 0.0589 - accuracy: 0.6375
## 495/524 [===========================>..] - ETA: 0s - loss: 0.0589 - accuracy: 0.6361
## 509/524 [============================>.] - ETA: 0s - loss: 0.0589 - accuracy: 0.6360
## 522/524 [============================>.] - ETA: 0s - loss: 0.0589 - accuracy: 0.6358
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0589 - accuracy: 0.6359 - val_loss: 0.0504 - val_accuracy: 0.9208
## Epoch 30/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0445 - accuracy: 0.7188
##  14/524 [..............................] - ETA: 2s - loss: 0.0581 - accuracy: 0.6272
##  27/524 [>.............................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6377
##  41/524 [=>............................] - ETA: 1s - loss: 0.0579 - accuracy: 0.6463
##  56/524 [==>...........................] - ETA: 1s - loss: 0.0574 - accuracy: 0.6468
##  71/524 [===>..........................] - ETA: 1s - loss: 0.0579 - accuracy: 0.6457
##  86/524 [===>..........................] - ETA: 1s - loss: 0.0581 - accuracy: 0.6439
## 101/524 [====>.........................] - ETA: 1s - loss: 0.0579 - accuracy: 0.6414
## 116/524 [=====>........................] - ETA: 1s - loss: 0.0579 - accuracy: 0.6334
## 131/524 [======>.......................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6372
## 146/524 [=======>......................] - ETA: 1s - loss: 0.0582 - accuracy: 0.6338
## 161/524 [========>.....................] - ETA: 1s - loss: 0.0583 - accuracy: 0.6335
## 176/524 [=========>....................] - ETA: 1s - loss: 0.0584 - accuracy: 0.6316
## 191/524 [=========>....................] - ETA: 1s - loss: 0.0583 - accuracy: 0.6338
## 204/524 [==========>...................] - ETA: 1s - loss: 0.0585 - accuracy: 0.6330
## 213/524 [===========>..................] - ETA: 1s - loss: 0.0585 - accuracy: 0.6307
## 225/524 [===========>..................] - ETA: 1s - loss: 0.0585 - accuracy: 0.6319
## 239/524 [============>.................] - ETA: 1s - loss: 0.0584 - accuracy: 0.6330
## 252/524 [=============>................] - ETA: 1s - loss: 0.0584 - accuracy: 0.6350
## 266/524 [==============>...............] - ETA: 0s - loss: 0.0585 - accuracy: 0.6332
## 281/524 [===============>..............] - ETA: 0s - loss: 0.0583 - accuracy: 0.6342
## 296/524 [===============>..............] - ETA: 0s - loss: 0.0584 - accuracy: 0.6340
## 311/524 [================>.............] - ETA: 0s - loss: 0.0584 - accuracy: 0.6344
## 326/524 [=================>............] - ETA: 0s - loss: 0.0584 - accuracy: 0.6354
## 340/524 [==================>...........] - ETA: 0s - loss: 0.0584 - accuracy: 0.6348
## 355/524 [===================>..........] - ETA: 0s - loss: 0.0584 - accuracy: 0.6344
## 370/524 [====================>.........] - ETA: 0s - loss: 0.0583 - accuracy: 0.6353
## 385/524 [=====================>........] - ETA: 0s - loss: 0.0583 - accuracy: 0.6349
## 401/524 [=====================>........] - ETA: 0s - loss: 0.0584 - accuracy: 0.6352
## 416/524 [======================>.......] - ETA: 0s - loss: 0.0584 - accuracy: 0.6369
## 429/524 [=======================>......] - ETA: 0s - loss: 0.0583 - accuracy: 0.6375
## 444/524 [========================>.....] - ETA: 0s - loss: 0.0584 - accuracy: 0.6366
## 457/524 [=========================>....] - ETA: 0s - loss: 0.0585 - accuracy: 0.6362
## 470/524 [=========================>....] - ETA: 0s - loss: 0.0585 - accuracy: 0.6366
## 483/524 [==========================>...] - ETA: 0s - loss: 0.0585 - accuracy: 0.6355
## 496/524 [===========================>..] - ETA: 0s - loss: 0.0586 - accuracy: 0.6348
## 508/524 [============================>.] - ETA: 0s - loss: 0.0586 - accuracy: 0.6356
## 521/524 [============================>.] - ETA: 0s - loss: 0.0586 - accuracy: 0.6352
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0586 - accuracy: 0.6353 - val_loss: 0.0466 - val_accuracy: 0.9256
## Epoch 31/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0566 - accuracy: 0.8125
##  15/524 [..............................] - ETA: 1s - loss: 0.0585 - accuracy: 0.6417
##  30/524 [>.............................] - ETA: 1s - loss: 0.0565 - accuracy: 0.6604
##  45/524 [=>............................] - ETA: 1s - loss: 0.0578 - accuracy: 0.6500
##  61/524 [==>...........................] - ETA: 1s - loss: 0.0582 - accuracy: 0.6496
##  77/524 [===>..........................] - ETA: 1s - loss: 0.0584 - accuracy: 0.6356
##  92/524 [====>.........................] - ETA: 1s - loss: 0.0582 - accuracy: 0.6365
## 106/524 [=====>........................] - ETA: 1s - loss: 0.0582 - accuracy: 0.6371
## 119/524 [=====>........................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6397
## 131/524 [======>.......................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6415
## 145/524 [=======>......................] - ETA: 1s - loss: 0.0582 - accuracy: 0.6431
## 161/524 [========>.....................] - ETA: 1s - loss: 0.0581 - accuracy: 0.6452
## 175/524 [=========>....................] - ETA: 1s - loss: 0.0578 - accuracy: 0.6484
## 191/524 [=========>....................] - ETA: 1s - loss: 0.0577 - accuracy: 0.6531
## 205/524 [==========>...................] - ETA: 1s - loss: 0.0577 - accuracy: 0.6526
## 221/524 [===========>..................] - ETA: 1s - loss: 0.0576 - accuracy: 0.6534
## 236/524 [============>.................] - ETA: 1s - loss: 0.0574 - accuracy: 0.6559
## 251/524 [=============>................] - ETA: 0s - loss: 0.0574 - accuracy: 0.6574
## 266/524 [==============>...............] - ETA: 0s - loss: 0.0574 - accuracy: 0.6562
## 281/524 [===============>..............] - ETA: 0s - loss: 0.0574 - accuracy: 0.6554
## 296/524 [===============>..............] - ETA: 0s - loss: 0.0573 - accuracy: 0.6545
## 310/524 [================>.............] - ETA: 0s - loss: 0.0573 - accuracy: 0.6552
## 321/524 [=================>............] - ETA: 0s - loss: 0.0574 - accuracy: 0.6541
## 329/524 [=================>............] - ETA: 0s - loss: 0.0575 - accuracy: 0.6535
## 342/524 [==================>...........] - ETA: 0s - loss: 0.0575 - accuracy: 0.6520
## 356/524 [===================>..........] - ETA: 0s - loss: 0.0573 - accuracy: 0.6540
## 368/524 [====================>.........] - ETA: 0s - loss: 0.0574 - accuracy: 0.6546
## 382/524 [====================>.........] - ETA: 0s - loss: 0.0574 - accuracy: 0.6542
## 396/524 [=====================>........] - ETA: 0s - loss: 0.0576 - accuracy: 0.6526
## 411/524 [======================>.......] - ETA: 0s - loss: 0.0576 - accuracy: 0.6520
## 427/524 [=======================>......] - ETA: 0s - loss: 0.0575 - accuracy: 0.6524
## 441/524 [========================>.....] - ETA: 0s - loss: 0.0576 - accuracy: 0.6523
## 453/524 [========================>.....] - ETA: 0s - loss: 0.0576 - accuracy: 0.6535
## 467/524 [=========================>....] - ETA: 0s - loss: 0.0577 - accuracy: 0.6528
## 484/524 [==========================>...] - ETA: 0s - loss: 0.0577 - accuracy: 0.6521
## 501/524 [===========================>..] - ETA: 0s - loss: 0.0578 - accuracy: 0.6503
## 519/524 [============================>.] - ETA: 0s - loss: 0.0578 - accuracy: 0.6493
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0578 - accuracy: 0.6493 - val_loss: 0.0517 - val_accuracy: 0.9062
## Epoch 32/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0618 - accuracy: 0.6250
##  18/524 [>.............................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6198
##  36/524 [=>............................] - ETA: 1s - loss: 0.0586 - accuracy: 0.6398
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0584 - accuracy: 0.6303
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6379
##  88/524 [====>.........................] - ETA: 1s - loss: 0.0581 - accuracy: 0.6346
## 104/524 [====>.........................] - ETA: 1s - loss: 0.0585 - accuracy: 0.6349
## 121/524 [=====>........................] - ETA: 1s - loss: 0.0579 - accuracy: 0.6420
## 138/524 [======>.......................] - ETA: 1s - loss: 0.0577 - accuracy: 0.6442
## 156/524 [=======>......................] - ETA: 1s - loss: 0.0577 - accuracy: 0.6438
## 173/524 [========>.....................] - ETA: 1s - loss: 0.0579 - accuracy: 0.6474
## 190/524 [=========>....................] - ETA: 1s - loss: 0.0582 - accuracy: 0.6424
## 206/524 [==========>...................] - ETA: 0s - loss: 0.0583 - accuracy: 0.6409
## 224/524 [===========>..................] - ETA: 0s - loss: 0.0581 - accuracy: 0.6412
## 241/524 [============>.................] - ETA: 0s - loss: 0.0581 - accuracy: 0.6404
## 256/524 [=============>................] - ETA: 0s - loss: 0.0581 - accuracy: 0.6414
## 270/524 [==============>...............] - ETA: 0s - loss: 0.0580 - accuracy: 0.6434
## 284/524 [===============>..............] - ETA: 0s - loss: 0.0580 - accuracy: 0.6438
## 301/524 [================>.............] - ETA: 0s - loss: 0.0580 - accuracy: 0.6436
## 319/524 [=================>............] - ETA: 0s - loss: 0.0579 - accuracy: 0.6418
## 336/524 [==================>...........] - ETA: 0s - loss: 0.0579 - accuracy: 0.6419
## 353/524 [===================>..........] - ETA: 0s - loss: 0.0577 - accuracy: 0.6431
## 367/524 [====================>.........] - ETA: 0s - loss: 0.0578 - accuracy: 0.6423
## 382/524 [====================>.........] - ETA: 0s - loss: 0.0578 - accuracy: 0.6419
## 399/524 [=====================>........] - ETA: 0s - loss: 0.0579 - accuracy: 0.6415
## 416/524 [======================>.......] - ETA: 0s - loss: 0.0580 - accuracy: 0.6407
## 433/524 [=======================>......] - ETA: 0s - loss: 0.0581 - accuracy: 0.6394
## 451/524 [========================>.....] - ETA: 0s - loss: 0.0580 - accuracy: 0.6395
## 468/524 [=========================>....] - ETA: 0s - loss: 0.0581 - accuracy: 0.6390
## 486/524 [==========================>...] - ETA: 0s - loss: 0.0582 - accuracy: 0.6388
## 502/524 [===========================>..] - ETA: 0s - loss: 0.0582 - accuracy: 0.6388
## 520/524 [============================>.] - ETA: 0s - loss: 0.0582 - accuracy: 0.6381
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0582 - accuracy: 0.6383 - val_loss: 0.0479 - val_accuracy: 0.9213
## Epoch 33/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0613 - accuracy: 0.6250
##  18/524 [>.............................] - ETA: 1s - loss: 0.0568 - accuracy: 0.6302
##  35/524 [=>............................] - ETA: 1s - loss: 0.0578 - accuracy: 0.6339
##  50/524 [=>............................] - ETA: 1s - loss: 0.0578 - accuracy: 0.6444
##  68/524 [==>...........................] - ETA: 1s - loss: 0.0579 - accuracy: 0.6448
##  85/524 [===>..........................] - ETA: 1s - loss: 0.0579 - accuracy: 0.6496
## 102/524 [====>.........................] - ETA: 1s - loss: 0.0581 - accuracy: 0.6483
## 119/524 [=====>........................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6457
## 137/524 [======>.......................] - ETA: 1s - loss: 0.0578 - accuracy: 0.6446
## 154/524 [=======>......................] - ETA: 1s - loss: 0.0578 - accuracy: 0.6427
## 171/524 [========>.....................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6449
## 189/524 [=========>....................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6440
## 206/524 [==========>...................] - ETA: 0s - loss: 0.0580 - accuracy: 0.6438
## 223/524 [===========>..................] - ETA: 0s - loss: 0.0581 - accuracy: 0.6446
## 240/524 [============>.................] - ETA: 0s - loss: 0.0581 - accuracy: 0.6480
## 257/524 [=============>................] - ETA: 0s - loss: 0.0580 - accuracy: 0.6488
## 274/524 [==============>...............] - ETA: 0s - loss: 0.0585 - accuracy: 0.6450
## 292/524 [===============>..............] - ETA: 0s - loss: 0.0586 - accuracy: 0.6411
## 308/524 [================>.............] - ETA: 0s - loss: 0.0586 - accuracy: 0.6405
## 324/524 [=================>............] - ETA: 0s - loss: 0.0584 - accuracy: 0.6420
## 341/524 [==================>...........] - ETA: 0s - loss: 0.0584 - accuracy: 0.6418
## 359/524 [===================>..........] - ETA: 0s - loss: 0.0583 - accuracy: 0.6422
## 377/524 [====================>.........] - ETA: 0s - loss: 0.0581 - accuracy: 0.6427
## 394/524 [=====================>........] - ETA: 0s - loss: 0.0581 - accuracy: 0.6443
## 410/524 [======================>.......] - ETA: 0s - loss: 0.0581 - accuracy: 0.6437
## 428/524 [=======================>......] - ETA: 0s - loss: 0.0580 - accuracy: 0.6446
## 445/524 [========================>.....] - ETA: 0s - loss: 0.0578 - accuracy: 0.6460
## 462/524 [=========================>....] - ETA: 0s - loss: 0.0576 - accuracy: 0.6473
## 479/524 [==========================>...] - ETA: 0s - loss: 0.0578 - accuracy: 0.6466
## 497/524 [===========================>..] - ETA: 0s - loss: 0.0579 - accuracy: 0.6459
## 513/524 [============================>.] - ETA: 0s - loss: 0.0580 - accuracy: 0.6445
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0579 - accuracy: 0.6440 - val_loss: 0.0475 - val_accuracy: 0.9191
## Epoch 34/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0749 - accuracy: 0.6562
##  18/524 [>.............................] - ETA: 1s - loss: 0.0555 - accuracy: 0.6684
##  36/524 [=>............................] - ETA: 1s - loss: 0.0573 - accuracy: 0.6615
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0566 - accuracy: 0.6675
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0566 - accuracy: 0.6656
##  88/524 [====>.........................] - ETA: 1s - loss: 0.0561 - accuracy: 0.6680
## 105/524 [=====>........................] - ETA: 1s - loss: 0.0566 - accuracy: 0.6643
## 122/524 [=====>........................] - ETA: 1s - loss: 0.0568 - accuracy: 0.6660
## 139/524 [======>.......................] - ETA: 1s - loss: 0.0569 - accuracy: 0.6673
## 156/524 [=======>......................] - ETA: 1s - loss: 0.0568 - accuracy: 0.6663
## 173/524 [========>.....................] - ETA: 1s - loss: 0.0570 - accuracy: 0.6669
## 190/524 [=========>....................] - ETA: 1s - loss: 0.0570 - accuracy: 0.6656
## 208/524 [==========>...................] - ETA: 0s - loss: 0.0569 - accuracy: 0.6657
## 225/524 [===========>..................] - ETA: 0s - loss: 0.0569 - accuracy: 0.6642
## 242/524 [============>.................] - ETA: 0s - loss: 0.0569 - accuracy: 0.6650
## 259/524 [=============>................] - ETA: 0s - loss: 0.0568 - accuracy: 0.6634
## 275/524 [==============>...............] - ETA: 0s - loss: 0.0571 - accuracy: 0.6614
## 293/524 [===============>..............] - ETA: 0s - loss: 0.0569 - accuracy: 0.6597
## 307/524 [================>.............] - ETA: 0s - loss: 0.0571 - accuracy: 0.6610
## 324/524 [=================>............] - ETA: 0s - loss: 0.0571 - accuracy: 0.6594
## 341/524 [==================>...........] - ETA: 0s - loss: 0.0573 - accuracy: 0.6581
## 358/524 [===================>..........] - ETA: 0s - loss: 0.0573 - accuracy: 0.6583
## 376/524 [====================>.........] - ETA: 0s - loss: 0.0574 - accuracy: 0.6574
## 394/524 [=====================>........] - ETA: 0s - loss: 0.0573 - accuracy: 0.6571
## 411/524 [======================>.......] - ETA: 0s - loss: 0.0573 - accuracy: 0.6574
## 428/524 [=======================>......] - ETA: 0s - loss: 0.0574 - accuracy: 0.6570
## 445/524 [========================>.....] - ETA: 0s - loss: 0.0574 - accuracy: 0.6570
## 463/524 [=========================>....] - ETA: 0s - loss: 0.0575 - accuracy: 0.6564
## 480/524 [==========================>...] - ETA: 0s - loss: 0.0574 - accuracy: 0.6564
## 497/524 [===========================>..] - ETA: 0s - loss: 0.0574 - accuracy: 0.6558
## 513/524 [============================>.] - ETA: 0s - loss: 0.0574 - accuracy: 0.6554
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0574 - accuracy: 0.6551 - val_loss: 0.0493 - val_accuracy: 0.9132
## Epoch 35/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0498 - accuracy: 0.5625
##  19/524 [>.............................] - ETA: 1s - loss: 0.0557 - accuracy: 0.6875
##  36/524 [=>............................] - ETA: 1s - loss: 0.0566 - accuracy: 0.6554
##  54/524 [==>...........................] - ETA: 1s - loss: 0.0591 - accuracy: 0.6406
##  72/524 [===>..........................] - ETA: 1s - loss: 0.0584 - accuracy: 0.6411
##  89/524 [====>.........................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6369
## 107/524 [=====>........................] - ETA: 1s - loss: 0.0578 - accuracy: 0.6381
## 124/524 [======>.......................] - ETA: 1s - loss: 0.0582 - accuracy: 0.6381
## 141/524 [=======>......................] - ETA: 1s - loss: 0.0579 - accuracy: 0.6416
## 158/524 [========>.....................] - ETA: 1s - loss: 0.0581 - accuracy: 0.6440
## 175/524 [=========>....................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6446
## 192/524 [=========>....................] - ETA: 0s - loss: 0.0581 - accuracy: 0.6434
## 209/524 [==========>...................] - ETA: 0s - loss: 0.0579 - accuracy: 0.6470
## 227/524 [===========>..................] - ETA: 0s - loss: 0.0580 - accuracy: 0.6481
## 244/524 [============>.................] - ETA: 0s - loss: 0.0580 - accuracy: 0.6459
## 262/524 [==============>...............] - ETA: 0s - loss: 0.0581 - accuracy: 0.6447
## 279/524 [==============>...............] - ETA: 0s - loss: 0.0579 - accuracy: 0.6455
## 297/524 [================>.............] - ETA: 0s - loss: 0.0579 - accuracy: 0.6441
## 314/524 [================>.............] - ETA: 0s - loss: 0.0578 - accuracy: 0.6468
## 332/524 [==================>...........] - ETA: 0s - loss: 0.0580 - accuracy: 0.6464
## 350/524 [===================>..........] - ETA: 0s - loss: 0.0580 - accuracy: 0.6458
## 365/524 [===================>..........] - ETA: 0s - loss: 0.0581 - accuracy: 0.6438
## 383/524 [====================>.........] - ETA: 0s - loss: 0.0582 - accuracy: 0.6425
## 401/524 [=====================>........] - ETA: 0s - loss: 0.0581 - accuracy: 0.6437
## 418/524 [======================>.......] - ETA: 0s - loss: 0.0580 - accuracy: 0.6449
## 435/524 [=======================>......] - ETA: 0s - loss: 0.0581 - accuracy: 0.6444
## 452/524 [========================>.....] - ETA: 0s - loss: 0.0581 - accuracy: 0.6443
## 470/524 [=========================>....] - ETA: 0s - loss: 0.0580 - accuracy: 0.6442
## 486/524 [==========================>...] - ETA: 0s - loss: 0.0580 - accuracy: 0.6436
## 504/524 [===========================>..] - ETA: 0s - loss: 0.0581 - accuracy: 0.6427
## 521/524 [============================>.] - ETA: 0s - loss: 0.0580 - accuracy: 0.6428
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0580 - accuracy: 0.6434 - val_loss: 0.0515 - val_accuracy: 0.9024
## Epoch 36/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0700 - accuracy: 0.6250
##  17/524 [..............................] - ETA: 1s - loss: 0.0562 - accuracy: 0.6985
##  35/524 [=>............................] - ETA: 1s - loss: 0.0562 - accuracy: 0.6625
##  52/524 [=>............................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6550
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6553
##  87/524 [===>..........................] - ETA: 1s - loss: 0.0576 - accuracy: 0.6530
## 104/524 [====>.........................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6547
## 122/524 [=====>........................] - ETA: 1s - loss: 0.0577 - accuracy: 0.6578
## 140/524 [=======>......................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6509
## 158/524 [========>.....................] - ETA: 1s - loss: 0.0576 - accuracy: 0.6545
## 175/524 [=========>....................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6554
## 193/524 [==========>...................] - ETA: 0s - loss: 0.0581 - accuracy: 0.6553
## 210/524 [===========>..................] - ETA: 0s - loss: 0.0582 - accuracy: 0.6539
## 227/524 [===========>..................] - ETA: 0s - loss: 0.0583 - accuracy: 0.6494
## 245/524 [=============>................] - ETA: 0s - loss: 0.0582 - accuracy: 0.6511
## 262/524 [==============>...............] - ETA: 0s - loss: 0.0582 - accuracy: 0.6510
## 279/524 [==============>...............] - ETA: 0s - loss: 0.0581 - accuracy: 0.6505
## 294/524 [===============>..............] - ETA: 0s - loss: 0.0580 - accuracy: 0.6516
## 311/524 [================>.............] - ETA: 0s - loss: 0.0578 - accuracy: 0.6535
## 329/524 [=================>............] - ETA: 0s - loss: 0.0581 - accuracy: 0.6521
## 347/524 [==================>...........] - ETA: 0s - loss: 0.0580 - accuracy: 0.6513
## 365/524 [===================>..........] - ETA: 0s - loss: 0.0582 - accuracy: 0.6497
## 381/524 [====================>.........] - ETA: 0s - loss: 0.0583 - accuracy: 0.6471
## 399/524 [=====================>........] - ETA: 0s - loss: 0.0581 - accuracy: 0.6468
## 416/524 [======================>.......] - ETA: 0s - loss: 0.0580 - accuracy: 0.6478
## 434/524 [=======================>......] - ETA: 0s - loss: 0.0580 - accuracy: 0.6490
## 451/524 [========================>.....] - ETA: 0s - loss: 0.0579 - accuracy: 0.6494
## 468/524 [=========================>....] - ETA: 0s - loss: 0.0580 - accuracy: 0.6496
## 485/524 [==========================>...] - ETA: 0s - loss: 0.0579 - accuracy: 0.6491
## 502/524 [===========================>..] - ETA: 0s - loss: 0.0580 - accuracy: 0.6477
## 520/524 [============================>.] - ETA: 0s - loss: 0.0580 - accuracy: 0.6480
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0580 - accuracy: 0.6483 - val_loss: 0.0497 - val_accuracy: 0.9086
## Epoch 37/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0487 - accuracy: 0.7500
##  18/524 [>.............................] - ETA: 1s - loss: 0.0567 - accuracy: 0.6528
##  36/524 [=>............................] - ETA: 1s - loss: 0.0569 - accuracy: 0.6441
##  52/524 [=>............................] - ETA: 1s - loss: 0.0562 - accuracy: 0.6617
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0561 - accuracy: 0.6685
##  85/524 [===>..........................] - ETA: 1s - loss: 0.0565 - accuracy: 0.6614
## 102/524 [====>.........................] - ETA: 1s - loss: 0.0565 - accuracy: 0.6670
## 119/524 [=====>........................] - ETA: 1s - loss: 0.0567 - accuracy: 0.6675
## 137/524 [======>.......................] - ETA: 1s - loss: 0.0567 - accuracy: 0.6661
## 154/524 [=======>......................] - ETA: 1s - loss: 0.0566 - accuracy: 0.6636
## 172/524 [========>.....................] - ETA: 1s - loss: 0.0568 - accuracy: 0.6612
## 190/524 [=========>....................] - ETA: 1s - loss: 0.0566 - accuracy: 0.6617
## 208/524 [==========>...................] - ETA: 0s - loss: 0.0565 - accuracy: 0.6621
## 223/524 [===========>..................] - ETA: 0s - loss: 0.0567 - accuracy: 0.6627
## 240/524 [============>.................] - ETA: 0s - loss: 0.0567 - accuracy: 0.6630
## 257/524 [=============>................] - ETA: 0s - loss: 0.0569 - accuracy: 0.6617
## 275/524 [==============>...............] - ETA: 0s - loss: 0.0569 - accuracy: 0.6616
## 292/524 [===============>..............] - ETA: 0s - loss: 0.0570 - accuracy: 0.6582
## 309/524 [================>.............] - ETA: 0s - loss: 0.0570 - accuracy: 0.6581
## 326/524 [=================>............] - ETA: 0s - loss: 0.0572 - accuracy: 0.6560
## 343/524 [==================>...........] - ETA: 0s - loss: 0.0571 - accuracy: 0.6552
## 358/524 [===================>..........] - ETA: 0s - loss: 0.0574 - accuracy: 0.6546
## 376/524 [====================>.........] - ETA: 0s - loss: 0.0574 - accuracy: 0.6527
## 392/524 [=====================>........] - ETA: 0s - loss: 0.0574 - accuracy: 0.6534
## 409/524 [======================>.......] - ETA: 0s - loss: 0.0575 - accuracy: 0.6537
## 427/524 [=======================>......] - ETA: 0s - loss: 0.0576 - accuracy: 0.6519
## 442/524 [========================>.....] - ETA: 0s - loss: 0.0576 - accuracy: 0.6530
## 460/524 [=========================>....] - ETA: 0s - loss: 0.0576 - accuracy: 0.6531
## 478/524 [==========================>...] - ETA: 0s - loss: 0.0577 - accuracy: 0.6515
## 495/524 [===========================>..] - ETA: 0s - loss: 0.0576 - accuracy: 0.6513
## 512/524 [============================>.] - ETA: 0s - loss: 0.0577 - accuracy: 0.6511
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0577 - accuracy: 0.6501 - val_loss: 0.0500 - val_accuracy: 0.9148
## Epoch 38/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0503 - accuracy: 0.7812
##  18/524 [>.............................] - ETA: 1s - loss: 0.0564 - accuracy: 0.6719
##  35/524 [=>............................] - ETA: 1s - loss: 0.0578 - accuracy: 0.6625
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0567 - accuracy: 0.6610
##  68/524 [==>...........................] - ETA: 1s - loss: 0.0571 - accuracy: 0.6604
##  85/524 [===>..........................] - ETA: 1s - loss: 0.0562 - accuracy: 0.6665
## 102/524 [====>.........................] - ETA: 1s - loss: 0.0563 - accuracy: 0.6697
## 119/524 [=====>........................] - ETA: 1s - loss: 0.0565 - accuracy: 0.6649
## 135/524 [======>.......................] - ETA: 1s - loss: 0.0567 - accuracy: 0.6660
## 151/524 [=======>......................] - ETA: 1s - loss: 0.0569 - accuracy: 0.6656
## 169/524 [========>.....................] - ETA: 1s - loss: 0.0567 - accuracy: 0.6646
## 186/524 [=========>....................] - ETA: 1s - loss: 0.0565 - accuracy: 0.6690
## 203/524 [==========>...................] - ETA: 0s - loss: 0.0567 - accuracy: 0.6672
## 221/524 [===========>..................] - ETA: 0s - loss: 0.0568 - accuracy: 0.6657
## 239/524 [============>.................] - ETA: 0s - loss: 0.0572 - accuracy: 0.6623
## 255/524 [=============>................] - ETA: 0s - loss: 0.0572 - accuracy: 0.6603
## 272/524 [==============>...............] - ETA: 0s - loss: 0.0573 - accuracy: 0.6599
## 290/524 [===============>..............] - ETA: 0s - loss: 0.0576 - accuracy: 0.6556
## 307/524 [================>.............] - ETA: 0s - loss: 0.0576 - accuracy: 0.6547
## 325/524 [=================>............] - ETA: 0s - loss: 0.0576 - accuracy: 0.6546
## 341/524 [==================>...........] - ETA: 0s - loss: 0.0577 - accuracy: 0.6531
## 359/524 [===================>..........] - ETA: 0s - loss: 0.0576 - accuracy: 0.6529
## 376/524 [====================>.........] - ETA: 0s - loss: 0.0577 - accuracy: 0.6541
## 393/524 [=====================>........] - ETA: 0s - loss: 0.0577 - accuracy: 0.6526
## 411/524 [======================>.......] - ETA: 0s - loss: 0.0577 - accuracy: 0.6505
## 429/524 [=======================>......] - ETA: 0s - loss: 0.0577 - accuracy: 0.6508
## 446/524 [========================>.....] - ETA: 0s - loss: 0.0577 - accuracy: 0.6505
## 463/524 [=========================>....] - ETA: 0s - loss: 0.0577 - accuracy: 0.6520
## 481/524 [==========================>...] - ETA: 0s - loss: 0.0577 - accuracy: 0.6512
## 498/524 [===========================>..] - ETA: 0s - loss: 0.0576 - accuracy: 0.6523
## 516/524 [============================>.] - ETA: 0s - loss: 0.0576 - accuracy: 0.6526
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0575 - accuracy: 0.6532 - val_loss: 0.0507 - val_accuracy: 0.9098
## Epoch 39/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0430 - accuracy: 0.7812
##  18/524 [>.............................] - ETA: 1s - loss: 0.0592 - accuracy: 0.6753
##  36/524 [=>............................] - ETA: 1s - loss: 0.0584 - accuracy: 0.6667
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0576 - accuracy: 0.6722
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0577 - accuracy: 0.6661
##  87/524 [===>..........................] - ETA: 1s - loss: 0.0575 - accuracy: 0.6634
## 105/524 [=====>........................] - ETA: 1s - loss: 0.0570 - accuracy: 0.6625
## 122/524 [=====>........................] - ETA: 1s - loss: 0.0571 - accuracy: 0.6621
## 140/524 [=======>......................] - ETA: 1s - loss: 0.0569 - accuracy: 0.6654
## 157/524 [=======>......................] - ETA: 1s - loss: 0.0566 - accuracy: 0.6620
## 174/524 [========>.....................] - ETA: 1s - loss: 0.0566 - accuracy: 0.6633
## 191/524 [=========>....................] - ETA: 0s - loss: 0.0566 - accuracy: 0.6631
## 208/524 [==========>...................] - ETA: 0s - loss: 0.0565 - accuracy: 0.6605
## 226/524 [===========>..................] - ETA: 0s - loss: 0.0567 - accuracy: 0.6610
## 242/524 [============>.................] - ETA: 0s - loss: 0.0570 - accuracy: 0.6592
## 257/524 [=============>................] - ETA: 0s - loss: 0.0571 - accuracy: 0.6577
## 269/524 [==============>...............] - ETA: 0s - loss: 0.0570 - accuracy: 0.6575
## 285/524 [===============>..............] - ETA: 0s - loss: 0.0569 - accuracy: 0.6587
## 303/524 [================>.............] - ETA: 0s - loss: 0.0570 - accuracy: 0.6576
## 321/524 [=================>............] - ETA: 0s - loss: 0.0569 - accuracy: 0.6593
## 338/524 [==================>...........] - ETA: 0s - loss: 0.0570 - accuracy: 0.6587
## 355/524 [===================>..........] - ETA: 0s - loss: 0.0571 - accuracy: 0.6576
## 373/524 [====================>.........] - ETA: 0s - loss: 0.0570 - accuracy: 0.6592
## 389/524 [=====================>........] - ETA: 0s - loss: 0.0570 - accuracy: 0.6572
## 406/524 [======================>.......] - ETA: 0s - loss: 0.0571 - accuracy: 0.6576
## 423/524 [=======================>......] - ETA: 0s - loss: 0.0570 - accuracy: 0.6590
## 440/524 [========================>.....] - ETA: 0s - loss: 0.0571 - accuracy: 0.6579
## 457/524 [=========================>....] - ETA: 0s - loss: 0.0571 - accuracy: 0.6586
## 476/524 [==========================>...] - ETA: 0s - loss: 0.0571 - accuracy: 0.6593
## 493/524 [===========================>..] - ETA: 0s - loss: 0.0571 - accuracy: 0.6582
## 510/524 [============================>.] - ETA: 0s - loss: 0.0571 - accuracy: 0.6571
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0572 - accuracy: 0.6572 - val_loss: 0.0522 - val_accuracy: 0.8962
## Epoch 40/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0498 - accuracy: 0.6250
##  17/524 [..............................] - ETA: 1s - loss: 0.0546 - accuracy: 0.7022
##  35/524 [=>............................] - ETA: 1s - loss: 0.0557 - accuracy: 0.6554
##  52/524 [=>............................] - ETA: 1s - loss: 0.0555 - accuracy: 0.6665
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0560 - accuracy: 0.6656
##  88/524 [====>.........................] - ETA: 1s - loss: 0.0560 - accuracy: 0.6616
## 106/524 [=====>........................] - ETA: 1s - loss: 0.0556 - accuracy: 0.6683
## 124/524 [======>.......................] - ETA: 1s - loss: 0.0551 - accuracy: 0.6721
## 141/524 [=======>......................] - ETA: 1s - loss: 0.0555 - accuracy: 0.6689
## 159/524 [========>.....................] - ETA: 1s - loss: 0.0556 - accuracy: 0.6700
## 174/524 [========>.....................] - ETA: 1s - loss: 0.0556 - accuracy: 0.6685
## 192/524 [=========>....................] - ETA: 0s - loss: 0.0557 - accuracy: 0.6673
## 209/524 [==========>...................] - ETA: 0s - loss: 0.0557 - accuracy: 0.6690
## 226/524 [===========>..................] - ETA: 0s - loss: 0.0554 - accuracy: 0.6710
## 244/524 [============>.................] - ETA: 0s - loss: 0.0557 - accuracy: 0.6720
## 259/524 [=============>................] - ETA: 0s - loss: 0.0559 - accuracy: 0.6700
## 276/524 [==============>...............] - ETA: 0s - loss: 0.0561 - accuracy: 0.6679
## 294/524 [===============>..............] - ETA: 0s - loss: 0.0562 - accuracy: 0.6656
## 311/524 [================>.............] - ETA: 0s - loss: 0.0563 - accuracy: 0.6649
## 329/524 [=================>............] - ETA: 0s - loss: 0.0565 - accuracy: 0.6624
## 347/524 [==================>...........] - ETA: 0s - loss: 0.0566 - accuracy: 0.6607
## 365/524 [===================>..........] - ETA: 0s - loss: 0.0566 - accuracy: 0.6609
## 382/524 [====================>.........] - ETA: 0s - loss: 0.0567 - accuracy: 0.6599
## 400/524 [=====================>........] - ETA: 0s - loss: 0.0568 - accuracy: 0.6595
## 417/524 [======================>.......] - ETA: 0s - loss: 0.0568 - accuracy: 0.6594
## 435/524 [=======================>......] - ETA: 0s - loss: 0.0568 - accuracy: 0.6594
## 452/524 [========================>.....] - ETA: 0s - loss: 0.0567 - accuracy: 0.6603
## 469/524 [=========================>....] - ETA: 0s - loss: 0.0568 - accuracy: 0.6606
## 487/524 [==========================>...] - ETA: 0s - loss: 0.0568 - accuracy: 0.6602
## 504/524 [===========================>..] - ETA: 0s - loss: 0.0569 - accuracy: 0.6587
## 521/524 [============================>.] - ETA: 0s - loss: 0.0569 - accuracy: 0.6586
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0569 - accuracy: 0.6588 - val_loss: 0.0471 - val_accuracy: 0.9270
## Epoch 41/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0648 - accuracy: 0.5625
##  16/524 [..............................] - ETA: 1s - loss: 0.0561 - accuracy: 0.6602
##  31/524 [>.............................] - ETA: 1s - loss: 0.0571 - accuracy: 0.6542
##  49/524 [=>............................] - ETA: 1s - loss: 0.0568 - accuracy: 0.6499
##  66/524 [==>...........................] - ETA: 1s - loss: 0.0570 - accuracy: 0.6468
##  84/524 [===>..........................] - ETA: 1s - loss: 0.0564 - accuracy: 0.6473
## 101/524 [====>.........................] - ETA: 1s - loss: 0.0555 - accuracy: 0.6597
## 118/524 [=====>........................] - ETA: 1s - loss: 0.0554 - accuracy: 0.6642
## 135/524 [======>.......................] - ETA: 1s - loss: 0.0555 - accuracy: 0.6653
## 153/524 [=======>......................] - ETA: 1s - loss: 0.0557 - accuracy: 0.6620
## 171/524 [========>.....................] - ETA: 1s - loss: 0.0555 - accuracy: 0.6650
## 189/524 [=========>....................] - ETA: 1s - loss: 0.0556 - accuracy: 0.6644
## 205/524 [==========>...................] - ETA: 0s - loss: 0.0560 - accuracy: 0.6630
## 223/524 [===========>..................] - ETA: 0s - loss: 0.0559 - accuracy: 0.6640
## 239/524 [============>.................] - ETA: 0s - loss: 0.0558 - accuracy: 0.6671
## 256/524 [=============>................] - ETA: 0s - loss: 0.0558 - accuracy: 0.6672
## 274/524 [==============>...............] - ETA: 0s - loss: 0.0561 - accuracy: 0.6657
## 291/524 [===============>..............] - ETA: 0s - loss: 0.0560 - accuracy: 0.6654
## 308/524 [================>.............] - ETA: 0s - loss: 0.0563 - accuracy: 0.6640
## 326/524 [=================>............] - ETA: 0s - loss: 0.0563 - accuracy: 0.6636
## 344/524 [==================>...........] - ETA: 0s - loss: 0.0562 - accuracy: 0.6638
## 361/524 [===================>..........] - ETA: 0s - loss: 0.0563 - accuracy: 0.6628
## 379/524 [====================>.........] - ETA: 0s - loss: 0.0566 - accuracy: 0.6629
## 396/524 [=====================>........] - ETA: 0s - loss: 0.0566 - accuracy: 0.6633
## 414/524 [======================>.......] - ETA: 0s - loss: 0.0567 - accuracy: 0.6621
## 432/524 [=======================>......] - ETA: 0s - loss: 0.0568 - accuracy: 0.6610
## 450/524 [========================>.....] - ETA: 0s - loss: 0.0568 - accuracy: 0.6608
## 466/524 [=========================>....] - ETA: 0s - loss: 0.0567 - accuracy: 0.6617
## 484/524 [==========================>...] - ETA: 0s - loss: 0.0567 - accuracy: 0.6609
## 501/524 [===========================>..] - ETA: 0s - loss: 0.0567 - accuracy: 0.6607
## 519/524 [============================>.] - ETA: 0s - loss: 0.0569 - accuracy: 0.6594
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0569 - accuracy: 0.6590 - val_loss: 0.0471 - val_accuracy: 0.9201
## Epoch 42/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0684 - accuracy: 0.5312
##  19/524 [>.............................] - ETA: 1s - loss: 0.0598 - accuracy: 0.6332
##  37/524 [=>............................] - ETA: 1s - loss: 0.0589 - accuracy: 0.6208
##  55/524 [==>...........................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6199
##  73/524 [===>..........................] - ETA: 1s - loss: 0.0598 - accuracy: 0.6211
##  91/524 [====>.........................] - ETA: 1s - loss: 0.0586 - accuracy: 0.6363
## 108/524 [=====>........................] - ETA: 1s - loss: 0.0576 - accuracy: 0.6406
## 126/524 [======>.......................] - ETA: 1s - loss: 0.0574 - accuracy: 0.6436
## 144/524 [=======>......................] - ETA: 1s - loss: 0.0573 - accuracy: 0.6484
## 160/524 [========>.....................] - ETA: 1s - loss: 0.0575 - accuracy: 0.6475
## 178/524 [=========>....................] - ETA: 1s - loss: 0.0573 - accuracy: 0.6506
## 196/524 [==========>...................] - ETA: 0s - loss: 0.0570 - accuracy: 0.6545
## 213/524 [===========>..................] - ETA: 0s - loss: 0.0570 - accuracy: 0.6555
## 230/524 [============>.................] - ETA: 0s - loss: 0.0568 - accuracy: 0.6572
## 248/524 [=============>................] - ETA: 0s - loss: 0.0567 - accuracy: 0.6566
## 265/524 [==============>...............] - ETA: 0s - loss: 0.0569 - accuracy: 0.6568
## 283/524 [===============>..............] - ETA: 0s - loss: 0.0571 - accuracy: 0.6566
## 300/524 [================>.............] - ETA: 0s - loss: 0.0571 - accuracy: 0.6569
## 318/524 [=================>............] - ETA: 0s - loss: 0.0572 - accuracy: 0.6573
## 336/524 [==================>...........] - ETA: 0s - loss: 0.0569 - accuracy: 0.6589
## 354/524 [===================>..........] - ETA: 0s - loss: 0.0570 - accuracy: 0.6598
## 372/524 [====================>.........] - ETA: 0s - loss: 0.0568 - accuracy: 0.6599
## 390/524 [=====================>........] - ETA: 0s - loss: 0.0566 - accuracy: 0.6614
## 408/524 [======================>.......] - ETA: 0s - loss: 0.0567 - accuracy: 0.6623
## 424/524 [=======================>......] - ETA: 0s - loss: 0.0568 - accuracy: 0.6629
## 441/524 [========================>.....] - ETA: 0s - loss: 0.0568 - accuracy: 0.6616
## 458/524 [=========================>....] - ETA: 0s - loss: 0.0568 - accuracy: 0.6623
## 476/524 [==========================>...] - ETA: 0s - loss: 0.0569 - accuracy: 0.6617
## 494/524 [===========================>..] - ETA: 0s - loss: 0.0569 - accuracy: 0.6609
## 511/524 [============================>.] - ETA: 0s - loss: 0.0570 - accuracy: 0.6600
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0570 - accuracy: 0.6600 - val_loss: 0.0473 - val_accuracy: 0.9203
## Epoch 43/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0386 - accuracy: 0.8438
##  18/524 [>.............................] - ETA: 1s - loss: 0.0546 - accuracy: 0.6979
##  36/524 [=>............................] - ETA: 1s - loss: 0.0560 - accuracy: 0.6745
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0562 - accuracy: 0.6692
##  71/524 [===>..........................] - ETA: 1s - loss: 0.0566 - accuracy: 0.6637
##  87/524 [===>..........................] - ETA: 1s - loss: 0.0561 - accuracy: 0.6652
## 105/524 [=====>........................] - ETA: 1s - loss: 0.0567 - accuracy: 0.6604
## 122/524 [=====>........................] - ETA: 1s - loss: 0.0567 - accuracy: 0.6596
## 140/524 [=======>......................] - ETA: 1s - loss: 0.0570 - accuracy: 0.6576
## 156/524 [=======>......................] - ETA: 1s - loss: 0.0573 - accuracy: 0.6548
## 174/524 [========>.....................] - ETA: 1s - loss: 0.0570 - accuracy: 0.6564
## 191/524 [=========>....................] - ETA: 0s - loss: 0.0573 - accuracy: 0.6540
## 209/524 [==========>...................] - ETA: 0s - loss: 0.0572 - accuracy: 0.6555
## 225/524 [===========>..................] - ETA: 0s - loss: 0.0570 - accuracy: 0.6535
## 243/524 [============>.................] - ETA: 0s - loss: 0.0569 - accuracy: 0.6570
## 261/524 [=============>................] - ETA: 0s - loss: 0.0570 - accuracy: 0.6572
## 277/524 [==============>...............] - ETA: 0s - loss: 0.0570 - accuracy: 0.6574
## 295/524 [===============>..............] - ETA: 0s - loss: 0.0568 - accuracy: 0.6584
## 313/524 [================>.............] - ETA: 0s - loss: 0.0570 - accuracy: 0.6590
## 330/524 [=================>............] - ETA: 0s - loss: 0.0570 - accuracy: 0.6600
## 348/524 [==================>...........] - ETA: 0s - loss: 0.0568 - accuracy: 0.6589
## 365/524 [===================>..........] - ETA: 0s - loss: 0.0568 - accuracy: 0.6598
## 382/524 [====================>.........] - ETA: 0s - loss: 0.0569 - accuracy: 0.6587
## 400/524 [=====================>........] - ETA: 0s - loss: 0.0568 - accuracy: 0.6588
## 418/524 [======================>.......] - ETA: 0s - loss: 0.0568 - accuracy: 0.6591
## 435/524 [=======================>......] - ETA: 0s - loss: 0.0568 - accuracy: 0.6605
## 452/524 [========================>.....] - ETA: 0s - loss: 0.0570 - accuracy: 0.6599
## 470/524 [=========================>....] - ETA: 0s - loss: 0.0569 - accuracy: 0.6612
## 487/524 [==========================>...] - ETA: 0s - loss: 0.0567 - accuracy: 0.6618
## 505/524 [===========================>..] - ETA: 0s - loss: 0.0568 - accuracy: 0.6622
## 522/524 [============================>.] - ETA: 0s - loss: 0.0567 - accuracy: 0.6621
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0567 - accuracy: 0.6624 - val_loss: 0.0470 - val_accuracy: 0.9182
## Epoch 44/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0598 - accuracy: 0.7500
##  18/524 [>.............................] - ETA: 1s - loss: 0.0552 - accuracy: 0.6719
##  34/524 [>.............................] - ETA: 1s - loss: 0.0565 - accuracy: 0.6654
##  52/524 [=>............................] - ETA: 1s - loss: 0.0576 - accuracy: 0.6593
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0578 - accuracy: 0.6427
##  87/524 [===>..........................] - ETA: 1s - loss: 0.0571 - accuracy: 0.6598
## 104/524 [====>.........................] - ETA: 1s - loss: 0.0568 - accuracy: 0.6596
## 121/524 [=====>........................] - ETA: 1s - loss: 0.0563 - accuracy: 0.6632
## 138/524 [======>.......................] - ETA: 1s - loss: 0.0561 - accuracy: 0.6655
## 156/524 [=======>......................] - ETA: 1s - loss: 0.0558 - accuracy: 0.6677
## 173/524 [========>.....................] - ETA: 1s - loss: 0.0558 - accuracy: 0.6703
## 191/524 [=========>....................] - ETA: 1s - loss: 0.0560 - accuracy: 0.6684
## 208/524 [==========>...................] - ETA: 0s - loss: 0.0562 - accuracy: 0.6695
## 226/524 [===========>..................] - ETA: 0s - loss: 0.0558 - accuracy: 0.6726
## 243/524 [============>.................] - ETA: 0s - loss: 0.0557 - accuracy: 0.6743
## 261/524 [=============>................] - ETA: 0s - loss: 0.0558 - accuracy: 0.6752
## 278/524 [==============>...............] - ETA: 0s - loss: 0.0558 - accuracy: 0.6754
## 294/524 [===============>..............] - ETA: 0s - loss: 0.0559 - accuracy: 0.6763
## 311/524 [================>.............] - ETA: 0s - loss: 0.0559 - accuracy: 0.6749
## 329/524 [=================>............] - ETA: 0s - loss: 0.0561 - accuracy: 0.6746
## 346/524 [==================>...........] - ETA: 0s - loss: 0.0561 - accuracy: 0.6730
## 364/524 [===================>..........] - ETA: 0s - loss: 0.0560 - accuracy: 0.6732
## 382/524 [====================>.........] - ETA: 0s - loss: 0.0561 - accuracy: 0.6735
## 399/524 [=====================>........] - ETA: 0s - loss: 0.0562 - accuracy: 0.6733
## 415/524 [======================>.......] - ETA: 0s - loss: 0.0561 - accuracy: 0.6726
## 433/524 [=======================>......] - ETA: 0s - loss: 0.0563 - accuracy: 0.6721
## 451/524 [========================>.....] - ETA: 0s - loss: 0.0563 - accuracy: 0.6720
## 467/524 [=========================>....] - ETA: 0s - loss: 0.0563 - accuracy: 0.6722
## 485/524 [==========================>...] - ETA: 0s - loss: 0.0563 - accuracy: 0.6715
## 503/524 [===========================>..] - ETA: 0s - loss: 0.0563 - accuracy: 0.6706
## 520/524 [============================>.] - ETA: 0s - loss: 0.0563 - accuracy: 0.6715
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0564 - accuracy: 0.6712 - val_loss: 0.0462 - val_accuracy: 0.9229
## Epoch 45/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0650 - accuracy: 0.4375
##  19/524 [>.............................] - ETA: 1s - loss: 0.0576 - accuracy: 0.6497
##  36/524 [=>............................] - ETA: 1s - loss: 0.0566 - accuracy: 0.6545
##  55/524 [==>...........................] - ETA: 1s - loss: 0.0564 - accuracy: 0.6602
##  73/524 [===>..........................] - ETA: 1s - loss: 0.0554 - accuracy: 0.6622
##  90/524 [====>.........................] - ETA: 1s - loss: 0.0556 - accuracy: 0.6635
## 107/524 [=====>........................] - ETA: 1s - loss: 0.0555 - accuracy: 0.6679
## 125/524 [======>.......................] - ETA: 1s - loss: 0.0555 - accuracy: 0.6695
## 142/524 [=======>......................] - ETA: 1s - loss: 0.0555 - accuracy: 0.6717
## 160/524 [========>.....................] - ETA: 1s - loss: 0.0557 - accuracy: 0.6730
## 176/524 [=========>....................] - ETA: 1s - loss: 0.0559 - accuracy: 0.6703
## 194/524 [==========>...................] - ETA: 0s - loss: 0.0559 - accuracy: 0.6690
## 212/524 [===========>..................] - ETA: 0s - loss: 0.0562 - accuracy: 0.6677
## 229/524 [============>.................] - ETA: 0s - loss: 0.0564 - accuracy: 0.6648
## 247/524 [=============>................] - ETA: 0s - loss: 0.0565 - accuracy: 0.6646
## 265/524 [==============>...............] - ETA: 0s - loss: 0.0563 - accuracy: 0.6656
## 283/524 [===============>..............] - ETA: 0s - loss: 0.0564 - accuracy: 0.6662
## 300/524 [================>.............] - ETA: 0s - loss: 0.0564 - accuracy: 0.6667
## 318/524 [=================>............] - ETA: 0s - loss: 0.0564 - accuracy: 0.6649
## 334/524 [==================>...........] - ETA: 0s - loss: 0.0565 - accuracy: 0.6640
## 351/524 [===================>..........] - ETA: 0s - loss: 0.0565 - accuracy: 0.6624
## 368/524 [====================>.........] - ETA: 0s - loss: 0.0565 - accuracy: 0.6627
## 386/524 [=====================>........] - ETA: 0s - loss: 0.0566 - accuracy: 0.6633
## 402/524 [======================>.......] - ETA: 0s - loss: 0.0568 - accuracy: 0.6626
## 419/524 [======================>.......] - ETA: 0s - loss: 0.0569 - accuracy: 0.6607
## 436/524 [=======================>......] - ETA: 0s - loss: 0.0570 - accuracy: 0.6595
## 454/524 [========================>.....] - ETA: 0s - loss: 0.0572 - accuracy: 0.6586
## 471/524 [=========================>....] - ETA: 0s - loss: 0.0573 - accuracy: 0.6575
## 488/524 [==========================>...] - ETA: 0s - loss: 0.0572 - accuracy: 0.6572
## 505/524 [===========================>..] - ETA: 0s - loss: 0.0572 - accuracy: 0.6568
## 522/524 [============================>.] - ETA: 0s - loss: 0.0572 - accuracy: 0.6564
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0572 - accuracy: 0.6565 - val_loss: 0.0473 - val_accuracy: 0.9289
## Epoch 46/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0559 - accuracy: 0.6250
##  18/524 [>.............................] - ETA: 1s - loss: 0.0566 - accuracy: 0.6354
##  34/524 [>.............................] - ETA: 1s - loss: 0.0589 - accuracy: 0.6397
##  52/524 [=>............................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6382
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0583 - accuracy: 0.6308
##  88/524 [====>.........................] - ETA: 1s - loss: 0.0580 - accuracy: 0.6381
## 105/524 [=====>........................] - ETA: 1s - loss: 0.0573 - accuracy: 0.6446
## 123/524 [======>.......................] - ETA: 1s - loss: 0.0567 - accuracy: 0.6524
## 141/524 [=======>......................] - ETA: 1s - loss: 0.0567 - accuracy: 0.6549
## 158/524 [========>.....................] - ETA: 1s - loss: 0.0564 - accuracy: 0.6576
## 175/524 [=========>....................] - ETA: 1s - loss: 0.0564 - accuracy: 0.6568
## 192/524 [=========>....................] - ETA: 0s - loss: 0.0565 - accuracy: 0.6572
## 209/524 [==========>...................] - ETA: 0s - loss: 0.0566 - accuracy: 0.6567
## 226/524 [===========>..................] - ETA: 0s - loss: 0.0564 - accuracy: 0.6572
## 244/524 [============>.................] - ETA: 0s - loss: 0.0563 - accuracy: 0.6603
## 261/524 [=============>................] - ETA: 0s - loss: 0.0562 - accuracy: 0.6627
## 279/524 [==============>...............] - ETA: 0s - loss: 0.0563 - accuracy: 0.6626
## 297/524 [================>.............] - ETA: 0s - loss: 0.0562 - accuracy: 0.6644
## 314/524 [================>.............] - ETA: 0s - loss: 0.0562 - accuracy: 0.6642
## 332/524 [==================>...........] - ETA: 0s - loss: 0.0560 - accuracy: 0.6642
## 350/524 [===================>..........] - ETA: 0s - loss: 0.0561 - accuracy: 0.6653
## 367/524 [====================>.........] - ETA: 0s - loss: 0.0562 - accuracy: 0.6634
## 385/524 [=====================>........] - ETA: 0s - loss: 0.0562 - accuracy: 0.6634
## 402/524 [======================>.......] - ETA: 0s - loss: 0.0563 - accuracy: 0.6627
## 419/524 [======================>.......] - ETA: 0s - loss: 0.0563 - accuracy: 0.6629
## 437/524 [========================>.....] - ETA: 0s - loss: 0.0563 - accuracy: 0.6626
## 454/524 [========================>.....] - ETA: 0s - loss: 0.0563 - accuracy: 0.6627
## 471/524 [=========================>....] - ETA: 0s - loss: 0.0563 - accuracy: 0.6622
## 489/524 [==========================>...] - ETA: 0s - loss: 0.0563 - accuracy: 0.6622
## 505/524 [===========================>..] - ETA: 0s - loss: 0.0562 - accuracy: 0.6639
## 523/524 [============================>.] - ETA: 0s - loss: 0.0562 - accuracy: 0.6650
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0562 - accuracy: 0.6652 - val_loss: 0.0452 - val_accuracy: 0.9241
## Epoch 47/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0558 - accuracy: 0.6250
##  19/524 [>.............................] - ETA: 1s - loss: 0.0564 - accuracy: 0.6842
##  37/524 [=>............................] - ETA: 1s - loss: 0.0559 - accuracy: 0.6782
##  54/524 [==>...........................] - ETA: 1s - loss: 0.0568 - accuracy: 0.6632
##  71/524 [===>..........................] - ETA: 1s - loss: 0.0561 - accuracy: 0.6712
##  85/524 [===>..........................] - ETA: 1s - loss: 0.0557 - accuracy: 0.6658
## 102/524 [====>.........................] - ETA: 1s - loss: 0.0561 - accuracy: 0.6633
## 119/524 [=====>........................] - ETA: 1s - loss: 0.0559 - accuracy: 0.6668
## 136/524 [======>.......................] - ETA: 1s - loss: 0.0555 - accuracy: 0.6723
## 153/524 [=======>......................] - ETA: 1s - loss: 0.0551 - accuracy: 0.6777
## 171/524 [========>.....................] - ETA: 1s - loss: 0.0550 - accuracy: 0.6798
## 188/524 [=========>....................] - ETA: 1s - loss: 0.0551 - accuracy: 0.6815
## 205/524 [==========>...................] - ETA: 0s - loss: 0.0556 - accuracy: 0.6796
## 223/524 [===========>..................] - ETA: 0s - loss: 0.0555 - accuracy: 0.6759
## 239/524 [============>.................] - ETA: 0s - loss: 0.0555 - accuracy: 0.6780
## 254/524 [=============>................] - ETA: 0s - loss: 0.0556 - accuracy: 0.6788
## 271/524 [==============>...............] - ETA: 0s - loss: 0.0557 - accuracy: 0.6772
## 288/524 [===============>..............] - ETA: 0s - loss: 0.0559 - accuracy: 0.6769
## 306/524 [================>.............] - ETA: 0s - loss: 0.0561 - accuracy: 0.6748
## 323/524 [=================>............] - ETA: 0s - loss: 0.0560 - accuracy: 0.6728
## 340/524 [==================>...........] - ETA: 0s - loss: 0.0562 - accuracy: 0.6717
## 357/524 [===================>..........] - ETA: 0s - loss: 0.0564 - accuracy: 0.6690
## 374/524 [====================>.........] - ETA: 0s - loss: 0.0565 - accuracy: 0.6686
## 391/524 [=====================>........] - ETA: 0s - loss: 0.0563 - accuracy: 0.6673
## 409/524 [======================>.......] - ETA: 0s - loss: 0.0564 - accuracy: 0.6682
## 426/524 [=======================>......] - ETA: 0s - loss: 0.0564 - accuracy: 0.6685
## 444/524 [========================>.....] - ETA: 0s - loss: 0.0563 - accuracy: 0.6677
## 461/524 [=========================>....] - ETA: 0s - loss: 0.0565 - accuracy: 0.6669
## 479/524 [==========================>...] - ETA: 0s - loss: 0.0565 - accuracy: 0.6675
## 497/524 [===========================>..] - ETA: 0s - loss: 0.0564 - accuracy: 0.6683
## 515/524 [============================>.] - ETA: 0s - loss: 0.0565 - accuracy: 0.6680
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0564 - accuracy: 0.6686 - val_loss: 0.0454 - val_accuracy: 0.9244
## Epoch 48/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0460 - accuracy: 0.8438
##  18/524 [>.............................] - ETA: 1s - loss: 0.0564 - accuracy: 0.6597
##  36/524 [=>............................] - ETA: 1s - loss: 0.0555 - accuracy: 0.6606
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0556 - accuracy: 0.6722
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0564 - accuracy: 0.6719
##  88/524 [====>.........................] - ETA: 1s - loss: 0.0570 - accuracy: 0.6669
## 105/524 [=====>........................] - ETA: 1s - loss: 0.0567 - accuracy: 0.6661
## 123/524 [======>.......................] - ETA: 1s - loss: 0.0566 - accuracy: 0.6692
## 141/524 [=======>......................] - ETA: 1s - loss: 0.0566 - accuracy: 0.6673
## 158/524 [========>.....................] - ETA: 1s - loss: 0.0564 - accuracy: 0.6681
## 173/524 [========>.....................] - ETA: 1s - loss: 0.0564 - accuracy: 0.6665
## 191/524 [=========>....................] - ETA: 0s - loss: 0.0565 - accuracy: 0.6670
## 203/524 [==========>...................] - ETA: 0s - loss: 0.0564 - accuracy: 0.6663
## 217/524 [===========>..................] - ETA: 0s - loss: 0.0566 - accuracy: 0.6653
## 235/524 [============>.................] - ETA: 0s - loss: 0.0567 - accuracy: 0.6674
## 251/524 [=============>................] - ETA: 0s - loss: 0.0564 - accuracy: 0.6701
## 268/524 [==============>...............] - ETA: 0s - loss: 0.0564 - accuracy: 0.6713
## 284/524 [===============>..............] - ETA: 0s - loss: 0.0565 - accuracy: 0.6702
## 301/524 [================>.............] - ETA: 0s - loss: 0.0564 - accuracy: 0.6704
## 318/524 [=================>............] - ETA: 0s - loss: 0.0562 - accuracy: 0.6719
## 334/524 [==================>...........] - ETA: 0s - loss: 0.0563 - accuracy: 0.6711
## 352/524 [===================>..........] - ETA: 0s - loss: 0.0563 - accuracy: 0.6734
## 370/524 [====================>.........] - ETA: 0s - loss: 0.0565 - accuracy: 0.6732
## 387/524 [=====================>........] - ETA: 0s - loss: 0.0565 - accuracy: 0.6730
## 405/524 [======================>.......] - ETA: 0s - loss: 0.0565 - accuracy: 0.6708
## 422/524 [=======================>......] - ETA: 0s - loss: 0.0565 - accuracy: 0.6702
## 439/524 [========================>.....] - ETA: 0s - loss: 0.0566 - accuracy: 0.6706
## 455/524 [=========================>....] - ETA: 0s - loss: 0.0564 - accuracy: 0.6712
## 472/524 [==========================>...] - ETA: 0s - loss: 0.0563 - accuracy: 0.6719
## 489/524 [==========================>...] - ETA: 0s - loss: 0.0562 - accuracy: 0.6724
## 507/524 [============================>.] - ETA: 0s - loss: 0.0562 - accuracy: 0.6729
## 522/524 [============================>.] - ETA: 0s - loss: 0.0563 - accuracy: 0.6724
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0563 - accuracy: 0.6723 - val_loss: 0.0495 - val_accuracy: 0.9043
## Epoch 49/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0440 - accuracy: 0.5938
##  13/524 [..............................] - ETA: 2s - loss: 0.0571 - accuracy: 0.6514
##  23/524 [>.............................] - ETA: 2s - loss: 0.0527 - accuracy: 0.6957
##  33/524 [>.............................] - ETA: 2s - loss: 0.0525 - accuracy: 0.6818
##  47/524 [=>............................] - ETA: 2s - loss: 0.0537 - accuracy: 0.6902
##  61/524 [==>...........................] - ETA: 1s - loss: 0.0532 - accuracy: 0.6895
##  75/524 [===>..........................] - ETA: 1s - loss: 0.0540 - accuracy: 0.6833
##  90/524 [====>.........................] - ETA: 1s - loss: 0.0537 - accuracy: 0.6892
## 105/524 [=====>........................] - ETA: 1s - loss: 0.0539 - accuracy: 0.6824
## 119/524 [=====>........................] - ETA: 1s - loss: 0.0546 - accuracy: 0.6733
## 134/524 [======>.......................] - ETA: 1s - loss: 0.0551 - accuracy: 0.6702
## 149/524 [=======>......................] - ETA: 1s - loss: 0.0548 - accuracy: 0.6730
## 163/524 [========>.....................] - ETA: 1s - loss: 0.0552 - accuracy: 0.6731
## 177/524 [=========>....................] - ETA: 1s - loss: 0.0558 - accuracy: 0.6686
## 192/524 [=========>....................] - ETA: 1s - loss: 0.0557 - accuracy: 0.6688
## 206/524 [==========>...................] - ETA: 1s - loss: 0.0556 - accuracy: 0.6699
## 220/524 [===========>..................] - ETA: 1s - loss: 0.0558 - accuracy: 0.6706
## 235/524 [============>.................] - ETA: 1s - loss: 0.0557 - accuracy: 0.6694
## 249/524 [=============>................] - ETA: 1s - loss: 0.0556 - accuracy: 0.6698
## 263/524 [==============>...............] - ETA: 0s - loss: 0.0555 - accuracy: 0.6705
## 277/524 [==============>...............] - ETA: 0s - loss: 0.0558 - accuracy: 0.6711
## 292/524 [===============>..............] - ETA: 0s - loss: 0.0558 - accuracy: 0.6720
## 307/524 [================>.............] - ETA: 0s - loss: 0.0558 - accuracy: 0.6708
## 320/524 [=================>............] - ETA: 0s - loss: 0.0557 - accuracy: 0.6707
## 333/524 [==================>...........] - ETA: 0s - loss: 0.0557 - accuracy: 0.6708
## 345/524 [==================>...........] - ETA: 0s - loss: 0.0557 - accuracy: 0.6725
## 358/524 [===================>..........] - ETA: 0s - loss: 0.0558 - accuracy: 0.6720
## 370/524 [====================>.........] - ETA: 0s - loss: 0.0558 - accuracy: 0.6726
## 382/524 [====================>.........] - ETA: 0s - loss: 0.0560 - accuracy: 0.6708
## 396/524 [=====================>........] - ETA: 0s - loss: 0.0559 - accuracy: 0.6705
## 410/524 [======================>.......] - ETA: 0s - loss: 0.0560 - accuracy: 0.6701
## 425/524 [=======================>......] - ETA: 0s - loss: 0.0561 - accuracy: 0.6687
## 439/524 [========================>.....] - ETA: 0s - loss: 0.0561 - accuracy: 0.6702
## 452/524 [========================>.....] - ETA: 0s - loss: 0.0562 - accuracy: 0.6699
## 463/524 [=========================>....] - ETA: 0s - loss: 0.0562 - accuracy: 0.6702
## 477/524 [==========================>...] - ETA: 0s - loss: 0.0561 - accuracy: 0.6702
## 492/524 [===========================>..] - ETA: 0s - loss: 0.0562 - accuracy: 0.6695
## 508/524 [============================>.] - ETA: 0s - loss: 0.0563 - accuracy: 0.6697
## 523/524 [============================>.] - ETA: 0s - loss: 0.0562 - accuracy: 0.6695
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0562 - accuracy: 0.6697 - val_loss: 0.0446 - val_accuracy: 0.9339
## Epoch 50/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0556 - accuracy: 0.6562
##  18/524 [>.............................] - ETA: 1s - loss: 0.0576 - accuracy: 0.6181
##  36/524 [=>............................] - ETA: 1s - loss: 0.0582 - accuracy: 0.6172
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0559 - accuracy: 0.6533
##  71/524 [===>..........................] - ETA: 1s - loss: 0.0552 - accuracy: 0.6602
##  89/524 [====>.........................] - ETA: 1s - loss: 0.0557 - accuracy: 0.6622
## 106/524 [=====>........................] - ETA: 1s - loss: 0.0555 - accuracy: 0.6672
## 124/524 [======>.......................] - ETA: 1s - loss: 0.0562 - accuracy: 0.6668
## 141/524 [=======>......................] - ETA: 1s - loss: 0.0561 - accuracy: 0.6724
## 158/524 [========>.....................] - ETA: 1s - loss: 0.0563 - accuracy: 0.6707
## 175/524 [=========>....................] - ETA: 1s - loss: 0.0562 - accuracy: 0.6689
## 190/524 [=========>....................] - ETA: 1s - loss: 0.0559 - accuracy: 0.6697
## 208/524 [==========>...................] - ETA: 0s - loss: 0.0557 - accuracy: 0.6744
## 225/524 [===========>..................] - ETA: 0s - loss: 0.0557 - accuracy: 0.6761
## 242/524 [============>.................] - ETA: 0s - loss: 0.0557 - accuracy: 0.6755
## 259/524 [=============>................] - ETA: 0s - loss: 0.0556 - accuracy: 0.6760
## 277/524 [==============>...............] - ETA: 0s - loss: 0.0555 - accuracy: 0.6770
## 292/524 [===============>..............] - ETA: 0s - loss: 0.0556 - accuracy: 0.6757
## 310/524 [================>.............] - ETA: 0s - loss: 0.0556 - accuracy: 0.6739
## 328/524 [=================>............] - ETA: 0s - loss: 0.0557 - accuracy: 0.6748
## 345/524 [==================>...........] - ETA: 0s - loss: 0.0558 - accuracy: 0.6745
## 362/524 [===================>..........] - ETA: 0s - loss: 0.0558 - accuracy: 0.6745
## 379/524 [====================>.........] - ETA: 0s - loss: 0.0559 - accuracy: 0.6732
## 396/524 [=====================>........] - ETA: 0s - loss: 0.0560 - accuracy: 0.6723
## 413/524 [======================>.......] - ETA: 0s - loss: 0.0561 - accuracy: 0.6713
## 431/524 [=======================>......] - ETA: 0s - loss: 0.0560 - accuracy: 0.6716
## 448/524 [========================>.....] - ETA: 0s - loss: 0.0559 - accuracy: 0.6726
## 466/524 [=========================>....] - ETA: 0s - loss: 0.0559 - accuracy: 0.6727
## 484/524 [==========================>...] - ETA: 0s - loss: 0.0557 - accuracy: 0.6737
## 502/524 [===========================>..] - ETA: 0s - loss: 0.0557 - accuracy: 0.6740
## 519/524 [============================>.] - ETA: 0s - loss: 0.0557 - accuracy: 0.6749
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0557 - accuracy: 0.6745 - val_loss: 0.0449 - val_accuracy: 0.9227
# Predict
pred_probs_nn2 <- model2 %>% predict(test_x)
## 55/55 - 0s - 180ms/epoch - 3ms/step
pred_classes_nn2 <- ifelse(pred_probs_nn2 > 0.5, "yes", "no")

# Confusion matrix
confusion_matrix_nn2<- confusionMatrix(
  factor(pred_classes_nn2, levels = c("no", "yes")),
  factor(ifelse(test_y == 1, "yes", "no"), levels = c("no", "yes"))
)
print(confusion_matrix_nn2)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  no yes
##        no  616 452
##        yes 257 427
##                                           
##                Accuracy : 0.5953          
##                  95% CI : (0.5719, 0.6184)
##     No Information Rate : 0.5017          
##     P-Value [Acc > NIR] : 2.314e-15       
##                                           
##                   Kappa : 0.1912          
##                                           
##  Mcnemar's Test P-Value : 3.197e-13       
##                                           
##             Sensitivity : 0.7056          
##             Specificity : 0.4858          
##          Pos Pred Value : 0.5768          
##          Neg Pred Value : 0.6243          
##              Prevalence : 0.4983          
##          Detection Rate : 0.3516          
##    Detection Prevalence : 0.6096          
##       Balanced Accuracy : 0.5957          
##                                           
##        'Positive' Class : no              
## 
accuracy_nn2 <- confusion_matrix_nn2$overall['Accuracy']
precision_nn2 <- confusion_matrix_nn2$byClass['Pos Pred Value']
recall_nn2 <- confusion_matrix_nn2$byClass['Sensitivity']
f1_nn2 <- confusion_matrix_nn2$byClass['F1']

metrics_nns <- rbind(metrics_nns, data.frame(
  Model = "NN scale+balance",
  Accuracy = as.numeric(accuracy_nn2),
  Precision = as.numeric(precision_nn2),
  Recall = as.numeric(recall_nn2),
  F1 = as.numeric(f1_nn2)
))

NN:Model 3

# Title: Optimized Neural Network (Scaled + SMOTE + Early Stopping)
# Description: Smaller architecture, early stopping to prevent overfitting

set.seed(105)
# Apply SMOTE to balance the training set
train_balanced <- SMOTE(heart_attack_risk ~ ., data = train_data, perc.over = 200, perc.under = 150)


train_y <- ifelse(train_balanced$heart_attack_risk == "yes", 1, 0)
test_y <- ifelse(test_data$heart_attack_risk == "yes", 1, 0)

# Prepare features
train_x <- train_balanced[, -which(names(train_balanced) == "heart_attack_risk")]
test_x  <- test_data[, -which(names(test_data) == "heart_attack_risk")]


train_x[] <- lapply(train_x, as.numeric)
test_x[] <- lapply(test_x, as.numeric)

# Scale
pre_proc <- preProcess(train_x, method = c("center", "scale"))
train_x <- predict(pre_proc, train_x)
test_x  <- predict(pre_proc, test_x)

train_x <- as.matrix(train_x)
test_x  <- as.matrix(test_x)


focal_loss <- function(gamma = 2., alpha = 0.25) {
  function(y_true, y_pred) {
    epsilon <- k_epsilon()
    y_pred <- k_clip(y_pred, epsilon, 1.0 - epsilon)
    pt_1 <- tf$where(k_equal(y_true, 1), y_pred, k_ones_like(y_pred))
    pt_0 <- tf$where(k_equal(y_true, 0), y_pred, k_zeros_like(y_pred))
    return(-alpha * k_pow(1 - pt_1, gamma) * k_log(pt_1) -
           (1 - alpha) * k_pow(pt_0, gamma) * k_log(1 - pt_0))
  }
}


model3 <- keras_model_sequential() %>%
  # Reduced units in first layer for speed
  layer_dense(units = 64, activation = "relu", input_shape = ncol(train_x)) %>%   # from 128 to 64
  layer_batch_normalization() %>%
  layer_dropout(0.3) %>%                                                         #from 0.4 to 0.3
  layer_dense(units = 32, activation = "relu") %>%                               # from 64 to 32
  layer_batch_normalization() %>%
  layer_dropout(0.2) %>%                                                         # from 0.3 to 0.2
  layer_dense(units = 16, activation = "relu") %>%                #   small layer to retain depth
  layer_dense(units = 1, activation = "sigmoid")



model3 %>% compile(
  loss = focal_loss(gamma = 2, alpha = 0.25),
  optimizer = optimizer_adam(learning_rate = 0.001),
  metrics = c("accuracy")
)

# Early stopping added to speed training without overfitting!!
early_stop <- callback_early_stopping(monitor = "val_loss", patience = 5, restore_best_weights = TRUE)  

# Fit model
history <- model3 %>% fit(
  train_x, train_y,
  epochs = 50,
  batch_size = 32,
  validation_split = 0.2,
  callbacks = list(early_stop),    
  verbose = 1
)
## Epoch 1/50
## 
##   1/524 [..............................] - ETA: 14:26 - loss: 0.1103 - accuracy: 0.4375
##  19/524 [>.............................] - ETA: 1s - loss: 0.1267 - accuracy: 0.5082   
##  37/524 [=>............................] - ETA: 1s - loss: 0.1124 - accuracy: 0.5017
##  55/524 [==>...........................] - ETA: 1s - loss: 0.1097 - accuracy: 0.4898
##  74/524 [===>..........................] - ETA: 1s - loss: 0.1058 - accuracy: 0.4890
##  92/524 [====>.........................] - ETA: 1s - loss: 0.1025 - accuracy: 0.4915
## 111/524 [=====>........................] - ETA: 1s - loss: 0.0993 - accuracy: 0.4820
## 129/524 [======>.......................] - ETA: 1s - loss: 0.0970 - accuracy: 0.4826
## 148/524 [=======>......................] - ETA: 1s - loss: 0.0952 - accuracy: 0.4812
## 165/524 [========>.....................] - ETA: 1s - loss: 0.0935 - accuracy: 0.4797
## 183/524 [=========>....................] - ETA: 0s - loss: 0.0927 - accuracy: 0.4747
## 202/524 [==========>...................] - ETA: 0s - loss: 0.0917 - accuracy: 0.4751
## 219/524 [===========>..................] - ETA: 0s - loss: 0.0907 - accuracy: 0.4756
## 237/524 [============>.................] - ETA: 0s - loss: 0.0898 - accuracy: 0.4739
## 256/524 [=============>................] - ETA: 0s - loss: 0.0888 - accuracy: 0.4729
## 274/524 [==============>...............] - ETA: 0s - loss: 0.0881 - accuracy: 0.4721
## 291/524 [===============>..............] - ETA: 0s - loss: 0.0876 - accuracy: 0.4705
## 310/524 [================>.............] - ETA: 0s - loss: 0.0869 - accuracy: 0.4705
## 329/524 [=================>............] - ETA: 0s - loss: 0.0864 - accuracy: 0.4682
## 348/524 [==================>...........] - ETA: 0s - loss: 0.0859 - accuracy: 0.4678
## 367/524 [====================>.........] - ETA: 0s - loss: 0.0853 - accuracy: 0.4677
## 385/524 [=====================>........] - ETA: 0s - loss: 0.0848 - accuracy: 0.4675
## 404/524 [======================>.......] - ETA: 0s - loss: 0.0842 - accuracy: 0.4681
## 422/524 [=======================>......] - ETA: 0s - loss: 0.0839 - accuracy: 0.4673
## 441/524 [========================>.....] - ETA: 0s - loss: 0.0835 - accuracy: 0.4649
## 459/524 [=========================>....] - ETA: 0s - loss: 0.0831 - accuracy: 0.4638
## 478/524 [==========================>...] - ETA: 0s - loss: 0.0827 - accuracy: 0.4638
## 497/524 [===========================>..] - ETA: 0s - loss: 0.0824 - accuracy: 0.4628
## 517/524 [============================>.] - ETA: 0s - loss: 0.0820 - accuracy: 0.4621
## 524/524 [==============================] - 4s 4ms/step - loss: 0.0819 - accuracy: 0.4619 - val_loss: 0.0797 - val_accuracy: 0.9523
## Epoch 2/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0796 - accuracy: 0.4375
##  19/524 [>.............................] - ETA: 1s - loss: 0.0729 - accuracy: 0.4539
##  37/524 [=>............................] - ETA: 1s - loss: 0.0734 - accuracy: 0.4628
##  54/524 [==>...........................] - ETA: 1s - loss: 0.0730 - accuracy: 0.4630
##  72/524 [===>..........................] - ETA: 1s - loss: 0.0727 - accuracy: 0.4661
##  90/524 [====>.........................] - ETA: 1s - loss: 0.0727 - accuracy: 0.4653
## 109/524 [=====>........................] - ETA: 1s - loss: 0.0723 - accuracy: 0.4644
## 126/524 [======>.......................] - ETA: 1s - loss: 0.0722 - accuracy: 0.4628
## 145/524 [=======>......................] - ETA: 1s - loss: 0.0721 - accuracy: 0.4578
## 161/524 [========>.....................] - ETA: 1s - loss: 0.0722 - accuracy: 0.4589
## 179/524 [=========>....................] - ETA: 0s - loss: 0.0720 - accuracy: 0.4543
## 197/524 [==========>...................] - ETA: 0s - loss: 0.0718 - accuracy: 0.4589
## 215/524 [===========>..................] - ETA: 0s - loss: 0.0718 - accuracy: 0.4583
## 233/524 [============>.................] - ETA: 0s - loss: 0.0719 - accuracy: 0.4565
## 251/524 [=============>................] - ETA: 0s - loss: 0.0718 - accuracy: 0.4572
## 269/524 [==============>...............] - ETA: 0s - loss: 0.0717 - accuracy: 0.4584
## 288/524 [===============>..............] - ETA: 0s - loss: 0.0718 - accuracy: 0.4578
## 306/524 [================>.............] - ETA: 0s - loss: 0.0717 - accuracy: 0.4582
## 324/524 [=================>............] - ETA: 0s - loss: 0.0719 - accuracy: 0.4575
## 343/524 [==================>...........] - ETA: 0s - loss: 0.0718 - accuracy: 0.4549
## 361/524 [===================>..........] - ETA: 0s - loss: 0.0717 - accuracy: 0.4555
## 379/524 [====================>.........] - ETA: 0s - loss: 0.0716 - accuracy: 0.4564
## 398/524 [=====================>........] - ETA: 0s - loss: 0.0716 - accuracy: 0.4560
## 415/524 [======================>.......] - ETA: 0s - loss: 0.0717 - accuracy: 0.4550
## 433/524 [=======================>......] - ETA: 0s - loss: 0.0717 - accuracy: 0.4548
## 452/524 [========================>.....] - ETA: 0s - loss: 0.0717 - accuracy: 0.4550
## 470/524 [=========================>....] - ETA: 0s - loss: 0.0717 - accuracy: 0.4548
## 488/524 [==========================>...] - ETA: 0s - loss: 0.0717 - accuracy: 0.4537
## 506/524 [===========================>..] - ETA: 0s - loss: 0.0717 - accuracy: 0.4535
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0717 - accuracy: 0.4532 - val_loss: 0.0697 - val_accuracy: 0.9874
## Epoch 3/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0651 - accuracy: 0.4688
##  20/524 [>.............................] - ETA: 1s - loss: 0.0684 - accuracy: 0.4766
##  39/524 [=>............................] - ETA: 1s - loss: 0.0698 - accuracy: 0.4551
##  55/524 [==>...........................] - ETA: 1s - loss: 0.0703 - accuracy: 0.4494
##  75/524 [===>..........................] - ETA: 1s - loss: 0.0700 - accuracy: 0.4554
##  93/524 [====>.........................] - ETA: 1s - loss: 0.0708 - accuracy: 0.4523
## 111/524 [=====>........................] - ETA: 1s - loss: 0.0708 - accuracy: 0.4440
## 130/524 [======>.......................] - ETA: 1s - loss: 0.0708 - accuracy: 0.4454
## 147/524 [=======>......................] - ETA: 1s - loss: 0.0706 - accuracy: 0.4445
## 165/524 [========>.....................] - ETA: 1s - loss: 0.0706 - accuracy: 0.4417
## 185/524 [=========>....................] - ETA: 0s - loss: 0.0706 - accuracy: 0.4432
## 203/524 [==========>...................] - ETA: 0s - loss: 0.0705 - accuracy: 0.4389
## 221/524 [===========>..................] - ETA: 0s - loss: 0.0705 - accuracy: 0.4375
## 240/524 [============>.................] - ETA: 0s - loss: 0.0704 - accuracy: 0.4382
## 258/524 [=============>................] - ETA: 0s - loss: 0.0703 - accuracy: 0.4410
## 276/524 [==============>...............] - ETA: 0s - loss: 0.0702 - accuracy: 0.4406
## 295/524 [===============>..............] - ETA: 0s - loss: 0.0701 - accuracy: 0.4421
## 313/524 [================>.............] - ETA: 0s - loss: 0.0700 - accuracy: 0.4429
## 332/524 [==================>...........] - ETA: 0s - loss: 0.0700 - accuracy: 0.4452
## 349/524 [==================>...........] - ETA: 0s - loss: 0.0700 - accuracy: 0.4455
## 368/524 [====================>.........] - ETA: 0s - loss: 0.0700 - accuracy: 0.4462
## 386/524 [=====================>........] - ETA: 0s - loss: 0.0700 - accuracy: 0.4474
## 404/524 [======================>.......] - ETA: 0s - loss: 0.0700 - accuracy: 0.4466
## 423/524 [=======================>......] - ETA: 0s - loss: 0.0701 - accuracy: 0.4467
## 441/524 [========================>.....] - ETA: 0s - loss: 0.0701 - accuracy: 0.4466
## 459/524 [=========================>....] - ETA: 0s - loss: 0.0700 - accuracy: 0.4464
## 478/524 [==========================>...] - ETA: 0s - loss: 0.0700 - accuracy: 0.4458
## 497/524 [===========================>..] - ETA: 0s - loss: 0.0700 - accuracy: 0.4459
## 515/524 [============================>.] - ETA: 0s - loss: 0.0700 - accuracy: 0.4455
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0699 - accuracy: 0.4457 - val_loss: 0.0681 - val_accuracy: 0.9924
## Epoch 4/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0714 - accuracy: 0.5625
##  20/524 [>.............................] - ETA: 1s - loss: 0.0707 - accuracy: 0.4359
##  38/524 [=>............................] - ETA: 1s - loss: 0.0687 - accuracy: 0.4400
##  55/524 [==>...........................] - ETA: 1s - loss: 0.0689 - accuracy: 0.4392
##  72/524 [===>..........................] - ETA: 1s - loss: 0.0691 - accuracy: 0.4379
##  90/524 [====>.........................] - ETA: 1s - loss: 0.0693 - accuracy: 0.4392
## 107/524 [=====>........................] - ETA: 1s - loss: 0.0692 - accuracy: 0.4395
## 124/524 [======>.......................] - ETA: 1s - loss: 0.0693 - accuracy: 0.4337
## 142/524 [=======>......................] - ETA: 1s - loss: 0.0692 - accuracy: 0.4393
## 160/524 [========>.....................] - ETA: 1s - loss: 0.0691 - accuracy: 0.4418
## 179/524 [=========>....................] - ETA: 1s - loss: 0.0689 - accuracy: 0.4417
## 196/524 [==========>...................] - ETA: 0s - loss: 0.0689 - accuracy: 0.4421
## 215/524 [===========>..................] - ETA: 0s - loss: 0.0688 - accuracy: 0.4433
## 233/524 [============>.................] - ETA: 0s - loss: 0.0689 - accuracy: 0.4437
## 252/524 [=============>................] - ETA: 0s - loss: 0.0690 - accuracy: 0.4433
## 270/524 [==============>...............] - ETA: 0s - loss: 0.0689 - accuracy: 0.4435
## 288/524 [===============>..............] - ETA: 0s - loss: 0.0689 - accuracy: 0.4430
## 307/524 [================>.............] - ETA: 0s - loss: 0.0688 - accuracy: 0.4425
## 326/524 [=================>............] - ETA: 0s - loss: 0.0689 - accuracy: 0.4453
## 344/524 [==================>...........] - ETA: 0s - loss: 0.0689 - accuracy: 0.4434
## 361/524 [===================>..........] - ETA: 0s - loss: 0.0688 - accuracy: 0.4433
## 380/524 [====================>.........] - ETA: 0s - loss: 0.0688 - accuracy: 0.4426
## 396/524 [=====================>........] - ETA: 0s - loss: 0.0688 - accuracy: 0.4446
## 415/524 [======================>.......] - ETA: 0s - loss: 0.0688 - accuracy: 0.4452
## 433/524 [=======================>......] - ETA: 0s - loss: 0.0688 - accuracy: 0.4452
## 452/524 [========================>.....] - ETA: 0s - loss: 0.0688 - accuracy: 0.4453
## 471/524 [=========================>....] - ETA: 0s - loss: 0.0688 - accuracy: 0.4467
## 474/524 [==========================>...] - ETA: 0s - loss: 0.0688 - accuracy: 0.4469
## 491/524 [===========================>..] - ETA: 0s - loss: 0.0689 - accuracy: 0.4463
## 507/524 [============================>.] - ETA: 0s - loss: 0.0689 - accuracy: 0.4460
## 523/524 [============================>.] - ETA: 0s - loss: 0.0689 - accuracy: 0.4460
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0689 - accuracy: 0.4461 - val_loss: 0.0687 - val_accuracy: 0.9890
## Epoch 5/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0622 - accuracy: 0.5000
##  20/524 [>.............................] - ETA: 1s - loss: 0.0668 - accuracy: 0.4141
##  38/524 [=>............................] - ETA: 1s - loss: 0.0682 - accuracy: 0.4301
##  57/524 [==>...........................] - ETA: 1s - loss: 0.0685 - accuracy: 0.4287
##  75/524 [===>..........................] - ETA: 1s - loss: 0.0687 - accuracy: 0.4304
##  94/524 [====>.........................] - ETA: 1s - loss: 0.0687 - accuracy: 0.4272
## 113/524 [=====>........................] - ETA: 1s - loss: 0.0687 - accuracy: 0.4334
## 127/524 [======>.......................] - ETA: 1s - loss: 0.0684 - accuracy: 0.4382
## 146/524 [=======>......................] - ETA: 1s - loss: 0.0684 - accuracy: 0.4420
## 165/524 [========>.....................] - ETA: 1s - loss: 0.0685 - accuracy: 0.4405
## 184/524 [=========>....................] - ETA: 0s - loss: 0.0686 - accuracy: 0.4445
## 202/524 [==========>...................] - ETA: 0s - loss: 0.0684 - accuracy: 0.4446
## 221/524 [===========>..................] - ETA: 0s - loss: 0.0686 - accuracy: 0.4447
## 240/524 [============>.................] - ETA: 0s - loss: 0.0687 - accuracy: 0.4448
## 258/524 [=============>................] - ETA: 0s - loss: 0.0686 - accuracy: 0.4444
## 276/524 [==============>...............] - ETA: 0s - loss: 0.0687 - accuracy: 0.4450
## 293/524 [===============>..............] - ETA: 0s - loss: 0.0687 - accuracy: 0.4468
## 311/524 [================>.............] - ETA: 0s - loss: 0.0687 - accuracy: 0.4472
## 329/524 [=================>............] - ETA: 0s - loss: 0.0686 - accuracy: 0.4479
## 347/524 [==================>...........] - ETA: 0s - loss: 0.0686 - accuracy: 0.4469
## 366/524 [===================>..........] - ETA: 0s - loss: 0.0686 - accuracy: 0.4477
## 384/524 [====================>.........] - ETA: 0s - loss: 0.0686 - accuracy: 0.4472
## 401/524 [=====================>........] - ETA: 0s - loss: 0.0684 - accuracy: 0.4479
## 418/524 [======================>.......] - ETA: 0s - loss: 0.0684 - accuracy: 0.4484
## 435/524 [=======================>......] - ETA: 0s - loss: 0.0684 - accuracy: 0.4489
## 453/524 [========================>.....] - ETA: 0s - loss: 0.0685 - accuracy: 0.4487
## 470/524 [=========================>....] - ETA: 0s - loss: 0.0685 - accuracy: 0.4510
## 489/524 [==========================>...] - ETA: 0s - loss: 0.0685 - accuracy: 0.4515
## 508/524 [============================>.] - ETA: 0s - loss: 0.0685 - accuracy: 0.4510
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0685 - accuracy: 0.4509 - val_loss: 0.0651 - val_accuracy: 0.9909
## Epoch 6/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0718 - accuracy: 0.5938
##  19/524 [>.............................] - ETA: 1s - loss: 0.0695 - accuracy: 0.4753
##  37/524 [=>............................] - ETA: 1s - loss: 0.0681 - accuracy: 0.4569
##  56/524 [==>...........................] - ETA: 1s - loss: 0.0676 - accuracy: 0.4503
##  73/524 [===>..........................] - ETA: 1s - loss: 0.0678 - accuracy: 0.4598
##  92/524 [====>.........................] - ETA: 1s - loss: 0.0676 - accuracy: 0.4569
## 111/524 [=====>........................] - ETA: 1s - loss: 0.0675 - accuracy: 0.4581
## 130/524 [======>.......................] - ETA: 1s - loss: 0.0677 - accuracy: 0.4599
## 149/524 [=======>......................] - ETA: 1s - loss: 0.0673 - accuracy: 0.4656
## 168/524 [========>.....................] - ETA: 1s - loss: 0.0674 - accuracy: 0.4639
## 187/524 [=========>....................] - ETA: 0s - loss: 0.0675 - accuracy: 0.4666
## 205/524 [==========>...................] - ETA: 0s - loss: 0.0674 - accuracy: 0.4710
## 224/524 [===========>..................] - ETA: 0s - loss: 0.0675 - accuracy: 0.4662
## 242/524 [============>.................] - ETA: 0s - loss: 0.0676 - accuracy: 0.4655
## 261/524 [=============>................] - ETA: 0s - loss: 0.0675 - accuracy: 0.4668
## 278/524 [==============>...............] - ETA: 0s - loss: 0.0672 - accuracy: 0.4694
## 297/524 [================>.............] - ETA: 0s - loss: 0.0672 - accuracy: 0.4710
## 316/524 [=================>............] - ETA: 0s - loss: 0.0673 - accuracy: 0.4724
## 334/524 [==================>...........] - ETA: 0s - loss: 0.0674 - accuracy: 0.4740
## 353/524 [===================>..........] - ETA: 0s - loss: 0.0675 - accuracy: 0.4712
## 370/524 [====================>.........] - ETA: 0s - loss: 0.0674 - accuracy: 0.4716
## 388/524 [=====================>........] - ETA: 0s - loss: 0.0674 - accuracy: 0.4718
## 407/524 [======================>.......] - ETA: 0s - loss: 0.0674 - accuracy: 0.4705
## 426/524 [=======================>......] - ETA: 0s - loss: 0.0673 - accuracy: 0.4702
## 444/524 [========================>.....] - ETA: 0s - loss: 0.0675 - accuracy: 0.4692
## 463/524 [=========================>....] - ETA: 0s - loss: 0.0675 - accuracy: 0.4680
## 482/524 [==========================>...] - ETA: 0s - loss: 0.0675 - accuracy: 0.4666
## 500/524 [===========================>..] - ETA: 0s - loss: 0.0675 - accuracy: 0.4655
## 519/524 [============================>.] - ETA: 0s - loss: 0.0675 - accuracy: 0.4656
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0675 - accuracy: 0.4652 - val_loss: 0.0651 - val_accuracy: 0.9857
## Epoch 7/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0661 - accuracy: 0.4688
##  20/524 [>.............................] - ETA: 1s - loss: 0.0672 - accuracy: 0.4703
##  39/524 [=>............................] - ETA: 1s - loss: 0.0663 - accuracy: 0.4776
##  55/524 [==>...........................] - ETA: 1s - loss: 0.0671 - accuracy: 0.4807
##  74/524 [===>..........................] - ETA: 1s - loss: 0.0675 - accuracy: 0.4747
##  93/524 [====>.........................] - ETA: 1s - loss: 0.0677 - accuracy: 0.4711
## 113/524 [=====>........................] - ETA: 1s - loss: 0.0676 - accuracy: 0.4643
## 131/524 [======>.......................] - ETA: 1s - loss: 0.0677 - accuracy: 0.4645
## 149/524 [=======>......................] - ETA: 1s - loss: 0.0676 - accuracy: 0.4675
## 167/524 [========>.....................] - ETA: 1s - loss: 0.0675 - accuracy: 0.4669
## 185/524 [=========>....................] - ETA: 0s - loss: 0.0675 - accuracy: 0.4681
## 202/524 [==========>...................] - ETA: 0s - loss: 0.0676 - accuracy: 0.4658
## 221/524 [===========>..................] - ETA: 0s - loss: 0.0674 - accuracy: 0.4665
## 240/524 [============>.................] - ETA: 0s - loss: 0.0673 - accuracy: 0.4689
## 257/524 [=============>................] - ETA: 0s - loss: 0.0672 - accuracy: 0.4696
## 276/524 [==============>...............] - ETA: 0s - loss: 0.0671 - accuracy: 0.4700
## 295/524 [===============>..............] - ETA: 0s - loss: 0.0669 - accuracy: 0.4722
## 313/524 [================>.............] - ETA: 0s - loss: 0.0669 - accuracy: 0.4727
## 332/524 [==================>...........] - ETA: 0s - loss: 0.0670 - accuracy: 0.4744
## 351/524 [===================>..........] - ETA: 0s - loss: 0.0670 - accuracy: 0.4752
## 370/524 [====================>.........] - ETA: 0s - loss: 0.0670 - accuracy: 0.4755
## 388/524 [=====================>........] - ETA: 0s - loss: 0.0671 - accuracy: 0.4744
## 407/524 [======================>.......] - ETA: 0s - loss: 0.0671 - accuracy: 0.4747
## 425/524 [=======================>......] - ETA: 0s - loss: 0.0670 - accuracy: 0.4742
## 442/524 [========================>.....] - ETA: 0s - loss: 0.0671 - accuracy: 0.4742
## 460/524 [=========================>....] - ETA: 0s - loss: 0.0670 - accuracy: 0.4743
## 479/524 [==========================>...] - ETA: 0s - loss: 0.0671 - accuracy: 0.4729
## 498/524 [===========================>..] - ETA: 0s - loss: 0.0671 - accuracy: 0.4726
## 516/524 [============================>.] - ETA: 0s - loss: 0.0671 - accuracy: 0.4730
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0672 - accuracy: 0.4724 - val_loss: 0.0619 - val_accuracy: 0.9826
## Epoch 8/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0605 - accuracy: 0.5625
##  20/524 [>.............................] - ETA: 1s - loss: 0.0679 - accuracy: 0.4625
##  37/524 [=>............................] - ETA: 1s - loss: 0.0662 - accuracy: 0.4932
##  55/524 [==>...........................] - ETA: 1s - loss: 0.0666 - accuracy: 0.4926
##  74/524 [===>..........................] - ETA: 1s - loss: 0.0667 - accuracy: 0.4797
##  93/524 [====>.........................] - ETA: 1s - loss: 0.0665 - accuracy: 0.4852
## 112/524 [=====>........................] - ETA: 1s - loss: 0.0664 - accuracy: 0.4858
## 129/524 [======>.......................] - ETA: 1s - loss: 0.0661 - accuracy: 0.4872
## 146/524 [=======>......................] - ETA: 1s - loss: 0.0661 - accuracy: 0.4893
## 164/524 [========>.....................] - ETA: 1s - loss: 0.0665 - accuracy: 0.4874
## 180/524 [=========>....................] - ETA: 0s - loss: 0.0666 - accuracy: 0.4865
## 198/524 [==========>...................] - ETA: 0s - loss: 0.0664 - accuracy: 0.4833
## 216/524 [===========>..................] - ETA: 0s - loss: 0.0664 - accuracy: 0.4832
## 233/524 [============>.................] - ETA: 0s - loss: 0.0664 - accuracy: 0.4827
## 252/524 [=============>................] - ETA: 0s - loss: 0.0664 - accuracy: 0.4845
## 270/524 [==============>...............] - ETA: 0s - loss: 0.0663 - accuracy: 0.4863
## 289/524 [===============>..............] - ETA: 0s - loss: 0.0663 - accuracy: 0.4877
## 307/524 [================>.............] - ETA: 0s - loss: 0.0662 - accuracy: 0.4870
## 326/524 [=================>............] - ETA: 0s - loss: 0.0662 - accuracy: 0.4894
## 346/524 [==================>...........] - ETA: 0s - loss: 0.0662 - accuracy: 0.4888
## 365/524 [===================>..........] - ETA: 0s - loss: 0.0662 - accuracy: 0.4894
## 383/524 [====================>.........] - ETA: 0s - loss: 0.0662 - accuracy: 0.4885
## 398/524 [=====================>........] - ETA: 0s - loss: 0.0663 - accuracy: 0.4881
## 412/524 [======================>.......] - ETA: 0s - loss: 0.0663 - accuracy: 0.4867
## 426/524 [=======================>......] - ETA: 0s - loss: 0.0663 - accuracy: 0.4863
## 440/524 [========================>.....] - ETA: 0s - loss: 0.0663 - accuracy: 0.4865
## 453/524 [========================>.....] - ETA: 0s - loss: 0.0662 - accuracy: 0.4867
## 464/524 [=========================>....] - ETA: 0s - loss: 0.0663 - accuracy: 0.4873
## 476/524 [==========================>...] - ETA: 0s - loss: 0.0663 - accuracy: 0.4877
## 488/524 [==========================>...] - ETA: 0s - loss: 0.0663 - accuracy: 0.4887
## 502/524 [===========================>..] - ETA: 0s - loss: 0.0663 - accuracy: 0.4885
## 515/524 [============================>.] - ETA: 0s - loss: 0.0663 - accuracy: 0.4871
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0663 - accuracy: 0.4862 - val_loss: 0.0595 - val_accuracy: 0.9828
## Epoch 9/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0761 - accuracy: 0.3750
##  15/524 [..............................] - ETA: 1s - loss: 0.0679 - accuracy: 0.4583
##  29/524 [>.............................] - ETA: 1s - loss: 0.0676 - accuracy: 0.4774
##  42/524 [=>............................] - ETA: 1s - loss: 0.0665 - accuracy: 0.4881
##  56/524 [==>...........................] - ETA: 1s - loss: 0.0668 - accuracy: 0.4872
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0665 - accuracy: 0.4839
##  84/524 [===>..........................] - ETA: 1s - loss: 0.0666 - accuracy: 0.4818
##  98/524 [====>.........................] - ETA: 1s - loss: 0.0663 - accuracy: 0.4774
## 112/524 [=====>........................] - ETA: 1s - loss: 0.0662 - accuracy: 0.4788
## 131/524 [======>.......................] - ETA: 1s - loss: 0.0659 - accuracy: 0.4869
## 150/524 [=======>......................] - ETA: 1s - loss: 0.0658 - accuracy: 0.4858
## 168/524 [========>.....................] - ETA: 1s - loss: 0.0658 - accuracy: 0.4877
## 186/524 [=========>....................] - ETA: 1s - loss: 0.0657 - accuracy: 0.4901
## 205/524 [==========>...................] - ETA: 1s - loss: 0.0659 - accuracy: 0.4910
## 224/524 [===========>..................] - ETA: 0s - loss: 0.0660 - accuracy: 0.4905
## 243/524 [============>.................] - ETA: 0s - loss: 0.0660 - accuracy: 0.4906
## 261/524 [=============>................] - ETA: 0s - loss: 0.0658 - accuracy: 0.4931
## 280/524 [===============>..............] - ETA: 0s - loss: 0.0657 - accuracy: 0.4949
## 298/524 [================>.............] - ETA: 0s - loss: 0.0657 - accuracy: 0.4962
## 315/524 [=================>............] - ETA: 0s - loss: 0.0657 - accuracy: 0.4989
## 334/524 [==================>...........] - ETA: 0s - loss: 0.0655 - accuracy: 0.5006
## 353/524 [===================>..........] - ETA: 0s - loss: 0.0655 - accuracy: 0.5021
## 372/524 [====================>.........] - ETA: 0s - loss: 0.0655 - accuracy: 0.5039
## 391/524 [=====================>........] - ETA: 0s - loss: 0.0656 - accuracy: 0.5023
## 410/524 [======================>.......] - ETA: 0s - loss: 0.0657 - accuracy: 0.5021
## 428/524 [=======================>......] - ETA: 0s - loss: 0.0657 - accuracy: 0.5023
## 447/524 [========================>.....] - ETA: 0s - loss: 0.0658 - accuracy: 0.5025
## 466/524 [=========================>....] - ETA: 0s - loss: 0.0659 - accuracy: 0.5013
## 483/524 [==========================>...] - ETA: 0s - loss: 0.0659 - accuracy: 0.4999
## 502/524 [===========================>..] - ETA: 0s - loss: 0.0658 - accuracy: 0.5002
## 521/524 [============================>.] - ETA: 0s - loss: 0.0658 - accuracy: 0.5002
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0658 - accuracy: 0.5003 - val_loss: 0.0556 - val_accuracy: 0.9843
## Epoch 10/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0664 - accuracy: 0.4062
##  20/524 [>.............................] - ETA: 1s - loss: 0.0642 - accuracy: 0.4953
##  37/524 [=>............................] - ETA: 1s - loss: 0.0652 - accuracy: 0.4865
##  55/524 [==>...........................] - ETA: 1s - loss: 0.0646 - accuracy: 0.5017
##  74/524 [===>..........................] - ETA: 1s - loss: 0.0652 - accuracy: 0.5021
##  91/524 [====>.........................] - ETA: 1s - loss: 0.0655 - accuracy: 0.5041
## 110/524 [=====>........................] - ETA: 1s - loss: 0.0660 - accuracy: 0.4983
## 126/524 [======>.......................] - ETA: 1s - loss: 0.0657 - accuracy: 0.4960
## 144/524 [=======>......................] - ETA: 1s - loss: 0.0659 - accuracy: 0.4961
## 162/524 [========>.....................] - ETA: 1s - loss: 0.0658 - accuracy: 0.4969
## 180/524 [=========>....................] - ETA: 0s - loss: 0.0661 - accuracy: 0.5003
## 198/524 [==========>...................] - ETA: 0s - loss: 0.0660 - accuracy: 0.4991
## 215/524 [===========>..................] - ETA: 0s - loss: 0.0659 - accuracy: 0.4965
## 233/524 [============>.................] - ETA: 0s - loss: 0.0660 - accuracy: 0.4960
## 251/524 [=============>................] - ETA: 0s - loss: 0.0660 - accuracy: 0.4933
## 269/524 [==============>...............] - ETA: 0s - loss: 0.0661 - accuracy: 0.4926
## 287/524 [===============>..............] - ETA: 0s - loss: 0.0661 - accuracy: 0.4923
## 306/524 [================>.............] - ETA: 0s - loss: 0.0660 - accuracy: 0.4912
## 324/524 [=================>............] - ETA: 0s - loss: 0.0659 - accuracy: 0.4928
## 342/524 [==================>...........] - ETA: 0s - loss: 0.0659 - accuracy: 0.4930
## 361/524 [===================>..........] - ETA: 0s - loss: 0.0657 - accuracy: 0.4951
## 379/524 [====================>.........] - ETA: 0s - loss: 0.0657 - accuracy: 0.4958
## 398/524 [=====================>........] - ETA: 0s - loss: 0.0656 - accuracy: 0.4977
## 416/524 [======================>.......] - ETA: 0s - loss: 0.0655 - accuracy: 0.4986
## 435/524 [=======================>......] - ETA: 0s - loss: 0.0656 - accuracy: 0.5014
## 452/524 [========================>.....] - ETA: 0s - loss: 0.0656 - accuracy: 0.5008
## 468/524 [=========================>....] - ETA: 0s - loss: 0.0656 - accuracy: 0.5019
## 487/524 [==========================>...] - ETA: 0s - loss: 0.0656 - accuracy: 0.5020
## 505/524 [===========================>..] - ETA: 0s - loss: 0.0655 - accuracy: 0.5025
## 524/524 [==============================] - ETA: 0s - loss: 0.0655 - accuracy: 0.5041
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0655 - accuracy: 0.5041 - val_loss: 0.0588 - val_accuracy: 0.9623
## Epoch 11/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0572 - accuracy: 0.6250
##  19/524 [>.............................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5181
##  38/524 [=>............................] - ETA: 1s - loss: 0.0649 - accuracy: 0.5132
##  56/524 [==>...........................] - ETA: 1s - loss: 0.0647 - accuracy: 0.5156
##  74/524 [===>..........................] - ETA: 1s - loss: 0.0645 - accuracy: 0.5135
##  91/524 [====>.........................] - ETA: 1s - loss: 0.0645 - accuracy: 0.5158
## 110/524 [=====>........................] - ETA: 1s - loss: 0.0647 - accuracy: 0.5151
## 127/524 [======>.......................] - ETA: 1s - loss: 0.0650 - accuracy: 0.5231
## 144/524 [=======>......................] - ETA: 1s - loss: 0.0650 - accuracy: 0.5228
## 162/524 [========>.....................] - ETA: 1s - loss: 0.0650 - accuracy: 0.5166
## 180/524 [=========>....................] - ETA: 0s - loss: 0.0650 - accuracy: 0.5127
## 198/524 [==========>...................] - ETA: 0s - loss: 0.0652 - accuracy: 0.5134
## 217/524 [===========>..................] - ETA: 0s - loss: 0.0652 - accuracy: 0.5122
## 235/524 [============>.................] - ETA: 0s - loss: 0.0651 - accuracy: 0.5117
## 254/524 [=============>................] - ETA: 0s - loss: 0.0652 - accuracy: 0.5089
## 273/524 [==============>...............] - ETA: 0s - loss: 0.0651 - accuracy: 0.5112
## 291/524 [===============>..............] - ETA: 0s - loss: 0.0652 - accuracy: 0.5096
## 310/524 [================>.............] - ETA: 0s - loss: 0.0652 - accuracy: 0.5106
## 328/524 [=================>............] - ETA: 0s - loss: 0.0650 - accuracy: 0.5118
## 347/524 [==================>...........] - ETA: 0s - loss: 0.0650 - accuracy: 0.5140
## 366/524 [===================>..........] - ETA: 0s - loss: 0.0648 - accuracy: 0.5177
## 385/524 [=====================>........] - ETA: 0s - loss: 0.0646 - accuracy: 0.5211
## 404/524 [======================>.......] - ETA: 0s - loss: 0.0647 - accuracy: 0.5204
## 423/524 [=======================>......] - ETA: 0s - loss: 0.0648 - accuracy: 0.5211
## 441/524 [========================>.....] - ETA: 0s - loss: 0.0647 - accuracy: 0.5212
## 460/524 [=========================>....] - ETA: 0s - loss: 0.0647 - accuracy: 0.5213
## 477/524 [==========================>...] - ETA: 0s - loss: 0.0648 - accuracy: 0.5210
## 496/524 [===========================>..] - ETA: 0s - loss: 0.0648 - accuracy: 0.5196
## 514/524 [============================>.] - ETA: 0s - loss: 0.0649 - accuracy: 0.5194
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0649 - accuracy: 0.5190 - val_loss: 0.0589 - val_accuracy: 0.9642
## Epoch 12/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0620 - accuracy: 0.6250
##  18/524 [>.............................] - ETA: 1s - loss: 0.0646 - accuracy: 0.5573
##  38/524 [=>............................] - ETA: 1s - loss: 0.0642 - accuracy: 0.5370
##  56/524 [==>...........................] - ETA: 1s - loss: 0.0639 - accuracy: 0.5318
##  74/524 [===>..........................] - ETA: 1s - loss: 0.0638 - accuracy: 0.5270
##  93/524 [====>.........................] - ETA: 1s - loss: 0.0639 - accuracy: 0.5302
## 109/524 [=====>........................] - ETA: 1s - loss: 0.0637 - accuracy: 0.5315
## 127/524 [======>.......................] - ETA: 1s - loss: 0.0639 - accuracy: 0.5349
## 146/524 [=======>......................] - ETA: 1s - loss: 0.0639 - accuracy: 0.5321
## 165/524 [========>.....................] - ETA: 1s - loss: 0.0638 - accuracy: 0.5324
## 183/524 [=========>....................] - ETA: 0s - loss: 0.0640 - accuracy: 0.5321
## 201/524 [==========>...................] - ETA: 0s - loss: 0.0644 - accuracy: 0.5295
## 220/524 [===========>..................] - ETA: 0s - loss: 0.0646 - accuracy: 0.5293
## 237/524 [============>.................] - ETA: 0s - loss: 0.0645 - accuracy: 0.5278
## 255/524 [=============>................] - ETA: 0s - loss: 0.0644 - accuracy: 0.5260
## 274/524 [==============>...............] - ETA: 0s - loss: 0.0645 - accuracy: 0.5236
## 292/524 [===============>..............] - ETA: 0s - loss: 0.0644 - accuracy: 0.5228
## 310/524 [================>.............] - ETA: 0s - loss: 0.0645 - accuracy: 0.5222
## 329/524 [=================>............] - ETA: 0s - loss: 0.0646 - accuracy: 0.5235
## 347/524 [==================>...........] - ETA: 0s - loss: 0.0647 - accuracy: 0.5246
## 365/524 [===================>..........] - ETA: 0s - loss: 0.0647 - accuracy: 0.5233
## 384/524 [====================>.........] - ETA: 0s - loss: 0.0647 - accuracy: 0.5232
## 403/524 [======================>.......] - ETA: 0s - loss: 0.0647 - accuracy: 0.5234
## 422/524 [=======================>......] - ETA: 0s - loss: 0.0647 - accuracy: 0.5231
## 440/524 [========================>.....] - ETA: 0s - loss: 0.0646 - accuracy: 0.5240
## 459/524 [=========================>....] - ETA: 0s - loss: 0.0647 - accuracy: 0.5227
## 478/524 [==========================>...] - ETA: 0s - loss: 0.0648 - accuracy: 0.5220
## 497/524 [===========================>..] - ETA: 0s - loss: 0.0648 - accuracy: 0.5207
## 515/524 [============================>.] - ETA: 0s - loss: 0.0649 - accuracy: 0.5194
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0649 - accuracy: 0.5189 - val_loss: 0.0572 - val_accuracy: 0.9688
## Epoch 13/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0669 - accuracy: 0.5938
##  20/524 [>.............................] - ETA: 1s - loss: 0.0634 - accuracy: 0.5750
##  39/524 [=>............................] - ETA: 1s - loss: 0.0637 - accuracy: 0.5385
##  57/524 [==>...........................] - ETA: 1s - loss: 0.0636 - accuracy: 0.5373
##  76/524 [===>..........................] - ETA: 1s - loss: 0.0639 - accuracy: 0.5251
##  95/524 [====>.........................] - ETA: 1s - loss: 0.0640 - accuracy: 0.5230
## 114/524 [=====>........................] - ETA: 1s - loss: 0.0640 - accuracy: 0.5197
## 133/524 [======>.......................] - ETA: 1s - loss: 0.0642 - accuracy: 0.5266
## 152/524 [=======>......................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5271
## 169/524 [========>.....................] - ETA: 0s - loss: 0.0637 - accuracy: 0.5296
## 187/524 [=========>....................] - ETA: 0s - loss: 0.0637 - accuracy: 0.5321
## 205/524 [==========>...................] - ETA: 0s - loss: 0.0637 - accuracy: 0.5345
## 224/524 [===========>..................] - ETA: 0s - loss: 0.0637 - accuracy: 0.5354
## 242/524 [============>.................] - ETA: 0s - loss: 0.0637 - accuracy: 0.5338
## 259/524 [=============>................] - ETA: 0s - loss: 0.0636 - accuracy: 0.5356
## 277/524 [==============>...............] - ETA: 0s - loss: 0.0639 - accuracy: 0.5345
## 296/524 [===============>..............] - ETA: 0s - loss: 0.0641 - accuracy: 0.5329
## 315/524 [=================>............] - ETA: 0s - loss: 0.0641 - accuracy: 0.5313
## 333/524 [==================>...........] - ETA: 0s - loss: 0.0642 - accuracy: 0.5320
## 351/524 [===================>..........] - ETA: 0s - loss: 0.0642 - accuracy: 0.5314
## 369/524 [====================>.........] - ETA: 0s - loss: 0.0642 - accuracy: 0.5323
## 387/524 [=====================>........] - ETA: 0s - loss: 0.0643 - accuracy: 0.5318
## 406/524 [======================>.......] - ETA: 0s - loss: 0.0642 - accuracy: 0.5317
## 424/524 [=======================>......] - ETA: 0s - loss: 0.0642 - accuracy: 0.5309
## 443/524 [========================>.....] - ETA: 0s - loss: 0.0643 - accuracy: 0.5303
## 461/524 [=========================>....] - ETA: 0s - loss: 0.0642 - accuracy: 0.5294
## 479/524 [==========================>...] - ETA: 0s - loss: 0.0644 - accuracy: 0.5286
## 497/524 [===========================>..] - ETA: 0s - loss: 0.0644 - accuracy: 0.5288
## 516/524 [============================>.] - ETA: 0s - loss: 0.0644 - accuracy: 0.5297
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0644 - accuracy: 0.5292 - val_loss: 0.0556 - val_accuracy: 0.9578
## Epoch 14/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0617 - accuracy: 0.5312
##  20/524 [>.............................] - ETA: 1s - loss: 0.0637 - accuracy: 0.4984
##  39/524 [=>............................] - ETA: 1s - loss: 0.0633 - accuracy: 0.5160
##  58/524 [==>...........................] - ETA: 1s - loss: 0.0631 - accuracy: 0.5178
##  76/524 [===>..........................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5255
##  94/524 [====>.........................] - ETA: 1s - loss: 0.0640 - accuracy: 0.5362
## 112/524 [=====>........................] - ETA: 1s - loss: 0.0636 - accuracy: 0.5346
## 130/524 [======>.......................] - ETA: 1s - loss: 0.0635 - accuracy: 0.5351
## 149/524 [=======>......................] - ETA: 1s - loss: 0.0635 - accuracy: 0.5380
## 167/524 [========>.....................] - ETA: 0s - loss: 0.0636 - accuracy: 0.5371
## 186/524 [=========>....................] - ETA: 0s - loss: 0.0637 - accuracy: 0.5391
## 205/524 [==========>...................] - ETA: 0s - loss: 0.0638 - accuracy: 0.5412
## 221/524 [===========>..................] - ETA: 0s - loss: 0.0639 - accuracy: 0.5403
## 239/524 [============>.................] - ETA: 0s - loss: 0.0641 - accuracy: 0.5397
## 258/524 [=============>................] - ETA: 0s - loss: 0.0640 - accuracy: 0.5374
## 274/524 [==============>...............] - ETA: 0s - loss: 0.0640 - accuracy: 0.5385
## 293/524 [===============>..............] - ETA: 0s - loss: 0.0640 - accuracy: 0.5385
## 312/524 [================>.............] - ETA: 0s - loss: 0.0639 - accuracy: 0.5378
## 331/524 [=================>............] - ETA: 0s - loss: 0.0639 - accuracy: 0.5390
## 350/524 [===================>..........] - ETA: 0s - loss: 0.0639 - accuracy: 0.5372
## 369/524 [====================>.........] - ETA: 0s - loss: 0.0639 - accuracy: 0.5395
## 388/524 [=====================>........] - ETA: 0s - loss: 0.0639 - accuracy: 0.5405
## 406/524 [======================>.......] - ETA: 0s - loss: 0.0640 - accuracy: 0.5419
## 424/524 [=======================>......] - ETA: 0s - loss: 0.0640 - accuracy: 0.5419
## 440/524 [========================>.....] - ETA: 0s - loss: 0.0640 - accuracy: 0.5418
## 459/524 [=========================>....] - ETA: 0s - loss: 0.0639 - accuracy: 0.5432
## 476/524 [==========================>...] - ETA: 0s - loss: 0.0640 - accuracy: 0.5439
## 494/524 [===========================>..] - ETA: 0s - loss: 0.0640 - accuracy: 0.5438
## 513/524 [============================>.] - ETA: 0s - loss: 0.0640 - accuracy: 0.5420
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0640 - accuracy: 0.5410 - val_loss: 0.0561 - val_accuracy: 0.9523
## Epoch 15/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0621 - accuracy: 0.5312
##  19/524 [>.............................] - ETA: 1s - loss: 0.0629 - accuracy: 0.5724
##  37/524 [=>............................] - ETA: 1s - loss: 0.0630 - accuracy: 0.5625
##  56/524 [==>...........................] - ETA: 1s - loss: 0.0623 - accuracy: 0.5675
##  75/524 [===>..........................] - ETA: 1s - loss: 0.0624 - accuracy: 0.5658
##  94/524 [====>.........................] - ETA: 1s - loss: 0.0625 - accuracy: 0.5735
## 113/524 [=====>........................] - ETA: 1s - loss: 0.0635 - accuracy: 0.5686
## 132/524 [======>.......................] - ETA: 1s - loss: 0.0634 - accuracy: 0.5677
## 150/524 [=======>......................] - ETA: 1s - loss: 0.0632 - accuracy: 0.5646
## 169/524 [========>.....................] - ETA: 0s - loss: 0.0632 - accuracy: 0.5614
## 186/524 [=========>....................] - ETA: 0s - loss: 0.0632 - accuracy: 0.5588
## 201/524 [==========>...................] - ETA: 0s - loss: 0.0634 - accuracy: 0.5569
## 220/524 [===========>..................] - ETA: 0s - loss: 0.0636 - accuracy: 0.5570
## 239/524 [============>.................] - ETA: 0s - loss: 0.0635 - accuracy: 0.5578
## 258/524 [=============>................] - ETA: 0s - loss: 0.0634 - accuracy: 0.5578
## 275/524 [==============>...............] - ETA: 0s - loss: 0.0635 - accuracy: 0.5572
## 294/524 [===============>..............] - ETA: 0s - loss: 0.0635 - accuracy: 0.5546
## 312/524 [================>.............] - ETA: 0s - loss: 0.0636 - accuracy: 0.5546
## 330/524 [=================>............] - ETA: 0s - loss: 0.0635 - accuracy: 0.5542
## 349/524 [==================>...........] - ETA: 0s - loss: 0.0636 - accuracy: 0.5550
## 367/524 [====================>.........] - ETA: 0s - loss: 0.0637 - accuracy: 0.5535
## 386/524 [=====================>........] - ETA: 0s - loss: 0.0637 - accuracy: 0.5526
## 405/524 [======================>.......] - ETA: 0s - loss: 0.0636 - accuracy: 0.5523
## 424/524 [=======================>......] - ETA: 0s - loss: 0.0636 - accuracy: 0.5529
## 440/524 [========================>.....] - ETA: 0s - loss: 0.0637 - accuracy: 0.5509
## 458/524 [=========================>....] - ETA: 0s - loss: 0.0637 - accuracy: 0.5508
## 476/524 [==========================>...] - ETA: 0s - loss: 0.0638 - accuracy: 0.5502
## 494/524 [===========================>..] - ETA: 0s - loss: 0.0638 - accuracy: 0.5485
## 512/524 [============================>.] - ETA: 0s - loss: 0.0639 - accuracy: 0.5471
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0639 - accuracy: 0.5469 - val_loss: 0.0554 - val_accuracy: 0.9652
## Epoch 16/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0555 - accuracy: 0.5938
##  20/524 [>.............................] - ETA: 1s - loss: 0.0630 - accuracy: 0.5719
##  38/524 [=>............................] - ETA: 1s - loss: 0.0634 - accuracy: 0.5748
##  57/524 [==>...........................] - ETA: 1s - loss: 0.0636 - accuracy: 0.5565
##  76/524 [===>..........................] - ETA: 1s - loss: 0.0634 - accuracy: 0.5461
##  94/524 [====>.........................] - ETA: 1s - loss: 0.0635 - accuracy: 0.5376
## 113/524 [=====>........................] - ETA: 1s - loss: 0.0634 - accuracy: 0.5434
## 132/524 [======>.......................] - ETA: 1s - loss: 0.0633 - accuracy: 0.5483
## 151/524 [=======>......................] - ETA: 1s - loss: 0.0633 - accuracy: 0.5474
## 168/524 [========>.....................] - ETA: 0s - loss: 0.0635 - accuracy: 0.5469
## 187/524 [=========>....................] - ETA: 0s - loss: 0.0631 - accuracy: 0.5496
## 206/524 [==========>...................] - ETA: 0s - loss: 0.0631 - accuracy: 0.5510
## 224/524 [===========>..................] - ETA: 0s - loss: 0.0629 - accuracy: 0.5511
## 243/524 [============>.................] - ETA: 0s - loss: 0.0631 - accuracy: 0.5514
## 260/524 [=============>................] - ETA: 0s - loss: 0.0632 - accuracy: 0.5506
## 279/524 [==============>...............] - ETA: 0s - loss: 0.0630 - accuracy: 0.5516
## 296/524 [===============>..............] - ETA: 0s - loss: 0.0631 - accuracy: 0.5548
## 313/524 [================>.............] - ETA: 0s - loss: 0.0629 - accuracy: 0.5574
## 328/524 [=================>............] - ETA: 0s - loss: 0.0629 - accuracy: 0.5570
## 347/524 [==================>...........] - ETA: 0s - loss: 0.0630 - accuracy: 0.5572
## 366/524 [===================>..........] - ETA: 0s - loss: 0.0629 - accuracy: 0.5587
## 384/524 [====================>.........] - ETA: 0s - loss: 0.0630 - accuracy: 0.5588
## 402/524 [======================>.......] - ETA: 0s - loss: 0.0629 - accuracy: 0.5596
## 421/524 [=======================>......] - ETA: 0s - loss: 0.0629 - accuracy: 0.5588
## 439/524 [========================>.....] - ETA: 0s - loss: 0.0630 - accuracy: 0.5593
## 458/524 [=========================>....] - ETA: 0s - loss: 0.0630 - accuracy: 0.5597
## 477/524 [==========================>...] - ETA: 0s - loss: 0.0630 - accuracy: 0.5597
## 495/524 [===========================>..] - ETA: 0s - loss: 0.0632 - accuracy: 0.5582
## 514/524 [============================>.] - ETA: 0s - loss: 0.0632 - accuracy: 0.5581
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0631 - accuracy: 0.5584 - val_loss: 0.0516 - val_accuracy: 0.9609
## Epoch 17/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0642 - accuracy: 0.5312
##  15/524 [..............................] - ETA: 1s - loss: 0.0622 - accuracy: 0.5167
##  32/524 [>.............................] - ETA: 1s - loss: 0.0627 - accuracy: 0.5508
##  50/524 [=>............................] - ETA: 1s - loss: 0.0624 - accuracy: 0.5619
##  68/524 [==>...........................] - ETA: 1s - loss: 0.0618 - accuracy: 0.5689
##  87/524 [===>..........................] - ETA: 1s - loss: 0.0621 - accuracy: 0.5679
## 106/524 [=====>........................] - ETA: 1s - loss: 0.0620 - accuracy: 0.5731
## 124/524 [======>.......................] - ETA: 1s - loss: 0.0622 - accuracy: 0.5731
## 143/524 [=======>......................] - ETA: 1s - loss: 0.0621 - accuracy: 0.5723
## 161/524 [========>.....................] - ETA: 1s - loss: 0.0619 - accuracy: 0.5710
## 179/524 [=========>....................] - ETA: 1s - loss: 0.0620 - accuracy: 0.5730
## 197/524 [==========>...................] - ETA: 0s - loss: 0.0623 - accuracy: 0.5733
## 215/524 [===========>..................] - ETA: 0s - loss: 0.0622 - accuracy: 0.5734
## 234/524 [============>.................] - ETA: 0s - loss: 0.0624 - accuracy: 0.5701
## 252/524 [=============>................] - ETA: 0s - loss: 0.0627 - accuracy: 0.5701
## 270/524 [==============>...............] - ETA: 0s - loss: 0.0626 - accuracy: 0.5693
## 288/524 [===============>..............] - ETA: 0s - loss: 0.0628 - accuracy: 0.5699
## 305/524 [================>.............] - ETA: 0s - loss: 0.0628 - accuracy: 0.5653
## 323/524 [=================>............] - ETA: 0s - loss: 0.0628 - accuracy: 0.5651
## 341/524 [==================>...........] - ETA: 0s - loss: 0.0629 - accuracy: 0.5642
## 360/524 [===================>..........] - ETA: 0s - loss: 0.0629 - accuracy: 0.5643
## 378/524 [====================>.........] - ETA: 0s - loss: 0.0630 - accuracy: 0.5641
## 397/524 [=====================>........] - ETA: 0s - loss: 0.0631 - accuracy: 0.5625
## 416/524 [======================>.......] - ETA: 0s - loss: 0.0629 - accuracy: 0.5617
## 435/524 [=======================>......] - ETA: 0s - loss: 0.0630 - accuracy: 0.5625
## 454/524 [========================>.....] - ETA: 0s - loss: 0.0630 - accuracy: 0.5626
## 473/524 [==========================>...] - ETA: 0s - loss: 0.0631 - accuracy: 0.5614
## 492/524 [===========================>..] - ETA: 0s - loss: 0.0631 - accuracy: 0.5615
## 510/524 [============================>.] - ETA: 0s - loss: 0.0630 - accuracy: 0.5612
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0630 - accuracy: 0.5613 - val_loss: 0.0550 - val_accuracy: 0.9454
## Epoch 18/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0550 - accuracy: 0.5938
##  19/524 [>.............................] - ETA: 1s - loss: 0.0659 - accuracy: 0.5576
##  38/524 [=>............................] - ETA: 1s - loss: 0.0631 - accuracy: 0.5814
##  56/524 [==>...........................] - ETA: 1s - loss: 0.0625 - accuracy: 0.5770
##  75/524 [===>..........................] - ETA: 1s - loss: 0.0626 - accuracy: 0.5838
##  93/524 [====>.........................] - ETA: 1s - loss: 0.0632 - accuracy: 0.5743
## 111/524 [=====>........................] - ETA: 1s - loss: 0.0628 - accuracy: 0.5760
## 128/524 [======>.......................] - ETA: 1s - loss: 0.0625 - accuracy: 0.5730
## 147/524 [=======>......................] - ETA: 1s - loss: 0.0626 - accuracy: 0.5746
## 165/524 [========>.....................] - ETA: 1s - loss: 0.0626 - accuracy: 0.5741
## 184/524 [=========>....................] - ETA: 0s - loss: 0.0625 - accuracy: 0.5754
## 203/524 [==========>...................] - ETA: 0s - loss: 0.0626 - accuracy: 0.5750
## 221/524 [===========>..................] - ETA: 0s - loss: 0.0626 - accuracy: 0.5752
## 239/524 [============>.................] - ETA: 0s - loss: 0.0627 - accuracy: 0.5756
## 258/524 [=============>................] - ETA: 0s - loss: 0.0628 - accuracy: 0.5721
## 275/524 [==============>...............] - ETA: 0s - loss: 0.0627 - accuracy: 0.5703
## 294/524 [===============>..............] - ETA: 0s - loss: 0.0628 - accuracy: 0.5703
## 312/524 [================>.............] - ETA: 0s - loss: 0.0628 - accuracy: 0.5698
## 330/524 [=================>............] - ETA: 0s - loss: 0.0629 - accuracy: 0.5705
## 349/524 [==================>...........] - ETA: 0s - loss: 0.0630 - accuracy: 0.5687
## 365/524 [===================>..........] - ETA: 0s - loss: 0.0631 - accuracy: 0.5692
## 384/524 [====================>.........] - ETA: 0s - loss: 0.0632 - accuracy: 0.5670
## 403/524 [======================>.......] - ETA: 0s - loss: 0.0631 - accuracy: 0.5654
## 422/524 [=======================>......] - ETA: 0s - loss: 0.0632 - accuracy: 0.5660
## 439/524 [========================>.....] - ETA: 0s - loss: 0.0633 - accuracy: 0.5646
## 458/524 [=========================>....] - ETA: 0s - loss: 0.0633 - accuracy: 0.5615
## 476/524 [==========================>...] - ETA: 0s - loss: 0.0633 - accuracy: 0.5613
## 494/524 [===========================>..] - ETA: 0s - loss: 0.0633 - accuracy: 0.5596
## 512/524 [============================>.] - ETA: 0s - loss: 0.0633 - accuracy: 0.5580
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0632 - accuracy: 0.5579 - val_loss: 0.0557 - val_accuracy: 0.9404
## Epoch 19/50
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0591 - accuracy: 0.6562
##  20/524 [>.............................] - ETA: 1s - loss: 0.0610 - accuracy: 0.6219
##  38/524 [=>............................] - ETA: 1s - loss: 0.0627 - accuracy: 0.5806
##  56/524 [==>...........................] - ETA: 1s - loss: 0.0633 - accuracy: 0.5709
##  74/524 [===>..........................] - ETA: 1s - loss: 0.0627 - accuracy: 0.5747
##  93/524 [====>.........................] - ETA: 1s - loss: 0.0627 - accuracy: 0.5722
## 111/524 [=====>........................] - ETA: 1s - loss: 0.0630 - accuracy: 0.5749
## 129/524 [======>.......................] - ETA: 1s - loss: 0.0628 - accuracy: 0.5734
## 148/524 [=======>......................] - ETA: 1s - loss: 0.0623 - accuracy: 0.5754
## 167/524 [========>.....................] - ETA: 0s - loss: 0.0623 - accuracy: 0.5777
## 185/524 [=========>....................] - ETA: 0s - loss: 0.0622 - accuracy: 0.5801
## 202/524 [==========>...................] - ETA: 0s - loss: 0.0621 - accuracy: 0.5791
## 221/524 [===========>..................] - ETA: 0s - loss: 0.0620 - accuracy: 0.5810
## 239/524 [============>.................] - ETA: 0s - loss: 0.0619 - accuracy: 0.5828
## 257/524 [=============>................] - ETA: 0s - loss: 0.0621 - accuracy: 0.5854
## 275/524 [==============>...............] - ETA: 0s - loss: 0.0621 - accuracy: 0.5855
## 293/524 [===============>..............] - ETA: 0s - loss: 0.0622 - accuracy: 0.5851
## 311/524 [================>.............] - ETA: 0s - loss: 0.0623 - accuracy: 0.5848
## 330/524 [=================>............] - ETA: 0s - loss: 0.0622 - accuracy: 0.5850
## 346/524 [==================>...........] - ETA: 0s - loss: 0.0622 - accuracy: 0.5834
## 363/524 [===================>..........] - ETA: 0s - loss: 0.0621 - accuracy: 0.5835
## 381/524 [====================>.........] - ETA: 0s - loss: 0.0621 - accuracy: 0.5851
## 398/524 [=====================>........] - ETA: 0s - loss: 0.0622 - accuracy: 0.5863
## 417/524 [======================>.......] - ETA: 0s - loss: 0.0621 - accuracy: 0.5852
## 434/524 [=======================>......] - ETA: 0s - loss: 0.0622 - accuracy: 0.5843
## 451/524 [========================>.....] - ETA: 0s - loss: 0.0623 - accuracy: 0.5838
## 470/524 [=========================>....] - ETA: 0s - loss: 0.0622 - accuracy: 0.5842
## 489/524 [==========================>...] - ETA: 0s - loss: 0.0623 - accuracy: 0.5840
## 507/524 [============================>.] - ETA: 0s - loss: 0.0623 - accuracy: 0.5830
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0623 - accuracy: 0.5830 - val_loss: 0.0525 - val_accuracy: 0.9461
## Epoch 20/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0702 - accuracy: 0.5625
##  20/524 [>.............................] - ETA: 1s - loss: 0.0628 - accuracy: 0.5516
##  38/524 [=>............................] - ETA: 1s - loss: 0.0624 - accuracy: 0.5576
##  57/524 [==>...........................] - ETA: 1s - loss: 0.0630 - accuracy: 0.5669
##  74/524 [===>..........................] - ETA: 1s - loss: 0.0621 - accuracy: 0.5756
##  91/524 [====>.........................] - ETA: 1s - loss: 0.0625 - accuracy: 0.5697
## 110/524 [=====>........................] - ETA: 1s - loss: 0.0627 - accuracy: 0.5736
## 127/524 [======>.......................] - ETA: 1s - loss: 0.0627 - accuracy: 0.5719
## 145/524 [=======>......................] - ETA: 1s - loss: 0.0627 - accuracy: 0.5690
## 164/524 [========>.....................] - ETA: 1s - loss: 0.0624 - accuracy: 0.5701
## 183/524 [=========>....................] - ETA: 0s - loss: 0.0624 - accuracy: 0.5704
## 201/524 [==========>...................] - ETA: 0s - loss: 0.0625 - accuracy: 0.5698
## 220/524 [===========>..................] - ETA: 0s - loss: 0.0623 - accuracy: 0.5720
## 239/524 [============>.................] - ETA: 0s - loss: 0.0624 - accuracy: 0.5724
## 256/524 [=============>................] - ETA: 0s - loss: 0.0625 - accuracy: 0.5729
## 274/524 [==============>...............] - ETA: 0s - loss: 0.0625 - accuracy: 0.5741
## 291/524 [===============>..............] - ETA: 0s - loss: 0.0624 - accuracy: 0.5750
## 309/524 [================>.............] - ETA: 0s - loss: 0.0625 - accuracy: 0.5739
## 327/524 [=================>............] - ETA: 0s - loss: 0.0624 - accuracy: 0.5733
## 345/524 [==================>...........] - ETA: 0s - loss: 0.0626 - accuracy: 0.5724
## 364/524 [===================>..........] - ETA: 0s - loss: 0.0626 - accuracy: 0.5719
## 382/524 [====================>.........] - ETA: 0s - loss: 0.0626 - accuracy: 0.5718
## 401/524 [=====================>........] - ETA: 0s - loss: 0.0626 - accuracy: 0.5708
## 418/524 [======================>.......] - ETA: 0s - loss: 0.0627 - accuracy: 0.5710
## 436/524 [=======================>......] - ETA: 0s - loss: 0.0626 - accuracy: 0.5709
## 454/524 [========================>.....] - ETA: 0s - loss: 0.0626 - accuracy: 0.5714
## 473/524 [==========================>...] - ETA: 0s - loss: 0.0625 - accuracy: 0.5727
## 491/524 [===========================>..] - ETA: 0s - loss: 0.0625 - accuracy: 0.5719
## 510/524 [============================>.] - ETA: 0s - loss: 0.0625 - accuracy: 0.5736
## 524/524 [==============================] - 2s 3ms/step - loss: 0.0624 - accuracy: 0.5741 - val_loss: 0.0517 - val_accuracy: 0.9439
## Epoch 21/50
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0701 - accuracy: 0.5625
##  19/524 [>.............................] - ETA: 1s - loss: 0.0628 - accuracy: 0.5592
##  38/524 [=>............................] - ETA: 1s - loss: 0.0609 - accuracy: 0.5789
##  55/524 [==>...........................] - ETA: 1s - loss: 0.0617 - accuracy: 0.5909
##  73/524 [===>..........................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5908
##  86/524 [===>..........................] - ETA: 1s - loss: 0.0619 - accuracy: 0.5901
## 104/524 [====>.........................] - ETA: 1s - loss: 0.0618 - accuracy: 0.5844
## 122/524 [=====>........................] - ETA: 1s - loss: 0.0622 - accuracy: 0.5817
## 141/524 [=======>......................] - ETA: 1s - loss: 0.0624 - accuracy: 0.5791
## 160/524 [========>.....................] - ETA: 1s - loss: 0.0621 - accuracy: 0.5785
## 177/524 [=========>....................] - ETA: 1s - loss: 0.0621 - accuracy: 0.5770
## 194/524 [==========>...................] - ETA: 0s - loss: 0.0622 - accuracy: 0.5778
## 207/524 [==========>...................] - ETA: 0s - loss: 0.0622 - accuracy: 0.5750
## 222/524 [===========>..................] - ETA: 0s - loss: 0.0622 - accuracy: 0.5760
## 237/524 [============>.................] - ETA: 0s - loss: 0.0620 - accuracy: 0.5783
## 252/524 [=============>................] - ETA: 0s - loss: 0.0619 - accuracy: 0.5806
## 268/524 [==============>...............] - ETA: 0s - loss: 0.0620 - accuracy: 0.5814
## 284/524 [===============>..............] - ETA: 0s - loss: 0.0621 - accuracy: 0.5807
## 297/524 [================>.............] - ETA: 0s - loss: 0.0622 - accuracy: 0.5803
## 310/524 [================>.............] - ETA: 0s - loss: 0.0621 - accuracy: 0.5804
## 324/524 [=================>............] - ETA: 0s - loss: 0.0621 - accuracy: 0.5809
## 338/524 [==================>...........] - ETA: 0s - loss: 0.0622 - accuracy: 0.5782
## 352/524 [===================>..........] - ETA: 0s - loss: 0.0623 - accuracy: 0.5775
## 367/524 [====================>.........] - ETA: 0s - loss: 0.0622 - accuracy: 0.5774
## 380/524 [====================>.........] - ETA: 0s - loss: 0.0623 - accuracy: 0.5757
## 396/524 [=====================>........] - ETA: 0s - loss: 0.0623 - accuracy: 0.5758
## 411/524 [======================>.......] - ETA: 0s - loss: 0.0624 - accuracy: 0.5750
## 427/524 [=======================>......] - ETA: 0s - loss: 0.0623 - accuracy: 0.5738
## 443/524 [========================>.....] - ETA: 0s - loss: 0.0622 - accuracy: 0.5732
## 459/524 [=========================>....] - ETA: 0s - loss: 0.0623 - accuracy: 0.5743
## 474/524 [==========================>...] - ETA: 0s - loss: 0.0623 - accuracy: 0.5756
## 488/524 [==========================>...] - ETA: 0s - loss: 0.0624 - accuracy: 0.5754
## 504/524 [===========================>..] - ETA: 0s - loss: 0.0623 - accuracy: 0.5753
## 522/524 [============================>.] - ETA: 0s - loss: 0.0623 - accuracy: 0.5759
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0623 - accuracy: 0.5759 - val_loss: 0.0523 - val_accuracy: 0.9416
# Predict
pred_probs_nn3 <- model3 %>% predict(test_x)
## 55/55 - 0s - 194ms/epoch - 4ms/step
pred_classes_nn3 <- ifelse(pred_probs_nn3 > 0.5, "yes", "no")

# Confusion matrix
confusion_matrix_nn3<- confusionMatrix(
  factor(pred_classes_nn3, levels = c("no", "yes")),
  factor(ifelse(test_y == 1, "yes", "no"), levels = c("no", "yes"))
)

print(confusion_matrix_nn3)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  no yes
##        no  677 608
##        yes 196 271
##                                           
##                Accuracy : 0.5411          
##                  95% CI : (0.5174, 0.5646)
##     No Information Rate : 0.5017          
##     P-Value [Acc > NIR] : 0.0005286       
##                                           
##                   Kappa : 0.0837          
##                                           
##  Mcnemar's Test P-Value : < 2.2e-16       
##                                           
##             Sensitivity : 0.7755          
##             Specificity : 0.3083          
##          Pos Pred Value : 0.5268          
##          Neg Pred Value : 0.5803          
##              Prevalence : 0.4983          
##          Detection Rate : 0.3864          
##    Detection Prevalence : 0.7334          
##       Balanced Accuracy : 0.5419          
##                                           
##        'Positive' Class : no              
## 
accuracy_nn3 <- confusion_matrix_nn3$overall['Accuracy']
precision_nn3 <- confusion_matrix_nn3$byClass['Pos Pred Value']
recall_nn3 <- confusion_matrix_nn3$byClass['Sensitivity']
f1_nn3 <- confusion_matrix_nn3$byClass['F1']

metrics_nns <- rbind(metrics_nns, data.frame(
  Model = "NN +early stopping",
  Accuracy = as.numeric(accuracy_nn3),
  Precision = as.numeric(precision_nn3),
  Recall = as.numeric(recall_nn3),
  F1 = as.numeric(f1_nn3)
))

NN:Model 4

set.seed(105)

# Accuracy-Optimized Neural Network (Scaled + SMOTE + BatchNorm + Dropout)
# Description: Larger architecture with batch normalization and increased dropout for better generalization

# Apply SMOTE to balance the training set
train_balanced <- SMOTE(heart_attack_risk ~ ., data = train_data, perc.over = 200, perc.under = 150)

train_y <- ifelse(train_balanced$heart_attack_risk == "yes", 1, 0)
test_y <- ifelse(test_data$heart_attack_risk == "yes", 1, 0)

# Prepare features
train_x <- train_balanced[, -which(names(train_balanced) == "heart_attack_risk")]
test_x  <- test_data[, -which(names(test_data) == "heart_attack_risk")]


train_x[] <- lapply(train_x, as.numeric)
test_x[] <- lapply(test_x, as.numeric)

# Scale
pre_proc <- preProcess(train_x, method = c("center", "scale"))
train_x <- predict(pre_proc, train_x)
test_x  <- predict(pre_proc, test_x)

# Convert to matrix
train_x <- as.matrix(train_x)
test_x  <- as.matrix(test_x)
 
# Focal loss
focal_loss <- function(gamma = 2., alpha = 0.25) {
  function(y_true, y_pred) {
    epsilon <- k_epsilon()
    y_pred <- k_clip(y_pred, epsilon, 1.0 - epsilon)
    pt_1 <- tf$where(k_equal(y_true, 1), y_pred, k_ones_like(y_pred))
    pt_0 <- tf$where(k_equal(y_true, 0), y_pred, k_zeros_like(y_pred))
    return(-alpha * k_pow(1 - pt_1, gamma) * k_log(pt_1) -
           (1 - alpha) * k_pow(pt_0, gamma) * k_log(1 - pt_0))
  }
}


model4 <- keras_model_sequential() %>%
  layer_dense(units = 128, activation = "relu", input_shape = ncol(train_x)) %>%  # from 64 to 128
  layer_batch_normalization() %>%
  layer_dropout(0.4) %>%                                                          
  layer_dense(units = 64, activation = "relu") %>%                        
  layer_batch_normalization() %>%
  layer_dropout(0.3) %>%
  layer_dense(units = 32, activation = "relu") %>%
  layer_dense(units = 1, activation = "sigmoid")

# COMPILE
model4 %>% compile(
  loss = focal_loss(gamma = 2, alpha = 0.25),
  optimizer = optimizer_adam(learning_rate = 0.0005),     # lowered LR for better convergence
  metrics = c("accuracy")
)

# Early stopping 
early_stop <- callback_early_stopping(monitor = "val_loss", patience = 7, restore_best_weights = TRUE)  # CHANGED patience from 5 → 7


history <- model4 %>% fit(
  train_x, train_y,
  epochs = 60,                     # increased from 50 for more learning room  but <100
  batch_size = 32,
  validation_split = 0.2,
  callbacks = list(early_stop),
  verbose = 1
)
## Epoch 1/60
## 
##   1/524 [..............................] - ETA: 14:39 - loss: 0.1475 - accuracy: 0.5000
##  18/524 [>.............................] - ETA: 1s - loss: 0.1582 - accuracy: 0.4809   
##  35/524 [=>............................] - ETA: 1s - loss: 0.1449 - accuracy: 0.4795
##  52/524 [=>............................] - ETA: 1s - loss: 0.1409 - accuracy: 0.4754
##  68/524 [==>...........................] - ETA: 1s - loss: 0.1352 - accuracy: 0.4756
##  84/524 [===>..........................] - ETA: 1s - loss: 0.1325 - accuracy: 0.4658
## 101/524 [====>.........................] - ETA: 1s - loss: 0.1273 - accuracy: 0.4722
## 116/524 [=====>........................] - ETA: 1s - loss: 0.1250 - accuracy: 0.4717
## 131/524 [======>.......................] - ETA: 1s - loss: 0.1227 - accuracy: 0.4790
## 148/524 [=======>......................] - ETA: 1s - loss: 0.1201 - accuracy: 0.4747
## 166/524 [========>.....................] - ETA: 1s - loss: 0.1183 - accuracy: 0.4748
## 183/524 [=========>....................] - ETA: 1s - loss: 0.1164 - accuracy: 0.4747
## 201/524 [==========>...................] - ETA: 0s - loss: 0.1144 - accuracy: 0.4742
## 218/524 [===========>..................] - ETA: 0s - loss: 0.1131 - accuracy: 0.4725
## 235/524 [============>.................] - ETA: 0s - loss: 0.1118 - accuracy: 0.4719
## 252/524 [=============>................] - ETA: 0s - loss: 0.1102 - accuracy: 0.4732
## 268/524 [==============>...............] - ETA: 0s - loss: 0.1089 - accuracy: 0.4748
## 286/524 [===============>..............] - ETA: 0s - loss: 0.1074 - accuracy: 0.4769
## 304/524 [================>.............] - ETA: 0s - loss: 0.1063 - accuracy: 0.4753
## 321/524 [=================>............] - ETA: 0s - loss: 0.1054 - accuracy: 0.4744
## 339/524 [==================>...........] - ETA: 0s - loss: 0.1044 - accuracy: 0.4736
## 356/524 [===================>..........] - ETA: 0s - loss: 0.1036 - accuracy: 0.4738
## 374/524 [====================>.........] - ETA: 0s - loss: 0.1027 - accuracy: 0.4751
## 392/524 [=====================>........] - ETA: 0s - loss: 0.1019 - accuracy: 0.4754
## 409/524 [======================>.......] - ETA: 0s - loss: 0.1011 - accuracy: 0.4762
## 426/524 [=======================>......] - ETA: 0s - loss: 0.1004 - accuracy: 0.4763
## 443/524 [========================>.....] - ETA: 0s - loss: 0.0997 - accuracy: 0.4761
## 457/524 [=========================>....] - ETA: 0s - loss: 0.0992 - accuracy: 0.4762
## 474/524 [==========================>...] - ETA: 0s - loss: 0.0987 - accuracy: 0.4768
## 491/524 [===========================>..] - ETA: 0s - loss: 0.0981 - accuracy: 0.4769
## 508/524 [============================>.] - ETA: 0s - loss: 0.0978 - accuracy: 0.4771
## 524/524 [==============================] - 4s 4ms/step - loss: 0.0973 - accuracy: 0.4780 - val_loss: 0.0747 - val_accuracy: 0.8991
## Epoch 2/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0953 - accuracy: 0.5625
##  18/524 [>.............................] - ETA: 1s - loss: 0.0809 - accuracy: 0.4722
##  36/524 [=>............................] - ETA: 1s - loss: 0.0806 - accuracy: 0.4809
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0810 - accuracy: 0.4741
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0818 - accuracy: 0.4760
##  84/524 [===>..........................] - ETA: 1s - loss: 0.0819 - accuracy: 0.4758
## 102/524 [====>.........................] - ETA: 1s - loss: 0.0812 - accuracy: 0.4743
## 118/524 [=====>........................] - ETA: 1s - loss: 0.0810 - accuracy: 0.4759
## 136/524 [======>.......................] - ETA: 1s - loss: 0.0801 - accuracy: 0.4835
## 153/524 [=======>......................] - ETA: 1s - loss: 0.0798 - accuracy: 0.4853
## 170/524 [========>.....................] - ETA: 1s - loss: 0.0803 - accuracy: 0.4842
## 187/524 [=========>....................] - ETA: 1s - loss: 0.0804 - accuracy: 0.4848
## 204/524 [==========>...................] - ETA: 0s - loss: 0.0802 - accuracy: 0.4841
## 222/524 [===========>..................] - ETA: 0s - loss: 0.0800 - accuracy: 0.4842
## 239/524 [============>.................] - ETA: 0s - loss: 0.0798 - accuracy: 0.4856
## 255/524 [=============>................] - ETA: 0s - loss: 0.0796 - accuracy: 0.4866
## 273/524 [==============>...............] - ETA: 0s - loss: 0.0794 - accuracy: 0.4874
## 290/524 [===============>..............] - ETA: 0s - loss: 0.0792 - accuracy: 0.4858
## 307/524 [================>.............] - ETA: 0s - loss: 0.0792 - accuracy: 0.4870
## 324/524 [=================>............] - ETA: 0s - loss: 0.0792 - accuracy: 0.4854
## 341/524 [==================>...........] - ETA: 0s - loss: 0.0790 - accuracy: 0.4854
## 357/524 [===================>..........] - ETA: 0s - loss: 0.0789 - accuracy: 0.4845
## 374/524 [====================>.........] - ETA: 0s - loss: 0.0786 - accuracy: 0.4862
## 391/524 [=====================>........] - ETA: 0s - loss: 0.0785 - accuracy: 0.4860
## 408/524 [======================>.......] - ETA: 0s - loss: 0.0785 - accuracy: 0.4864
## 426/524 [=======================>......] - ETA: 0s - loss: 0.0785 - accuracy: 0.4847
## 443/524 [========================>.....] - ETA: 0s - loss: 0.0785 - accuracy: 0.4840
## 460/524 [=========================>....] - ETA: 0s - loss: 0.0784 - accuracy: 0.4844
## 477/524 [==========================>...] - ETA: 0s - loss: 0.0785 - accuracy: 0.4827
## 493/524 [===========================>..] - ETA: 0s - loss: 0.0784 - accuracy: 0.4832
## 510/524 [============================>.] - ETA: 0s - loss: 0.0784 - accuracy: 0.4835
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0782 - accuracy: 0.4845 - val_loss: 0.0723 - val_accuracy: 0.9377
## Epoch 3/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0753 - accuracy: 0.4062
##  18/524 [>.............................] - ETA: 1s - loss: 0.0742 - accuracy: 0.4983
##  36/524 [=>............................] - ETA: 1s - loss: 0.0773 - accuracy: 0.4661
##  52/524 [=>............................] - ETA: 1s - loss: 0.0763 - accuracy: 0.4712
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0763 - accuracy: 0.4769
##  86/524 [===>..........................] - ETA: 1s - loss: 0.0758 - accuracy: 0.4764
## 104/524 [====>.........................] - ETA: 1s - loss: 0.0754 - accuracy: 0.4739
## 120/524 [=====>........................] - ETA: 1s - loss: 0.0751 - accuracy: 0.4724
## 138/524 [======>.......................] - ETA: 1s - loss: 0.0752 - accuracy: 0.4783
## 155/524 [=======>......................] - ETA: 1s - loss: 0.0754 - accuracy: 0.4754
## 172/524 [========>.....................] - ETA: 1s - loss: 0.0754 - accuracy: 0.4746
## 190/524 [=========>....................] - ETA: 1s - loss: 0.0753 - accuracy: 0.4742
## 207/524 [==========>...................] - ETA: 0s - loss: 0.0755 - accuracy: 0.4715
## 224/524 [===========>..................] - ETA: 0s - loss: 0.0752 - accuracy: 0.4741
## 241/524 [============>.................] - ETA: 0s - loss: 0.0750 - accuracy: 0.4751
## 258/524 [=============>................] - ETA: 0s - loss: 0.0748 - accuracy: 0.4749
## 274/524 [==============>...............] - ETA: 0s - loss: 0.0748 - accuracy: 0.4760
## 292/524 [===============>..............] - ETA: 0s - loss: 0.0749 - accuracy: 0.4752
## 309/524 [================>.............] - ETA: 0s - loss: 0.0748 - accuracy: 0.4773
## 327/524 [=================>............] - ETA: 0s - loss: 0.0747 - accuracy: 0.4789
## 344/524 [==================>...........] - ETA: 0s - loss: 0.0748 - accuracy: 0.4777
## 361/524 [===================>..........] - ETA: 0s - loss: 0.0746 - accuracy: 0.4771
## 378/524 [====================>.........] - ETA: 0s - loss: 0.0746 - accuracy: 0.4776
## 395/524 [=====================>........] - ETA: 0s - loss: 0.0745 - accuracy: 0.4778
## 412/524 [======================>.......] - ETA: 0s - loss: 0.0745 - accuracy: 0.4782
## 429/524 [=======================>......] - ETA: 0s - loss: 0.0743 - accuracy: 0.4795
## 446/524 [========================>.....] - ETA: 0s - loss: 0.0743 - accuracy: 0.4793
## 462/524 [=========================>....] - ETA: 0s - loss: 0.0743 - accuracy: 0.4802
## 476/524 [==========================>...] - ETA: 0s - loss: 0.0743 - accuracy: 0.4800
## 493/524 [===========================>..] - ETA: 0s - loss: 0.0743 - accuracy: 0.4794
## 510/524 [============================>.] - ETA: 0s - loss: 0.0743 - accuracy: 0.4789
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0743 - accuracy: 0.4795 - val_loss: 0.0675 - val_accuracy: 0.9614
## Epoch 4/60
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0733 - accuracy: 0.4062
##  19/524 [>.............................] - ETA: 1s - loss: 0.0741 - accuracy: 0.4737
##  36/524 [=>............................] - ETA: 1s - loss: 0.0732 - accuracy: 0.4896
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0723 - accuracy: 0.4917
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0722 - accuracy: 0.4777
##  87/524 [===>..........................] - ETA: 1s - loss: 0.0718 - accuracy: 0.4846
## 105/524 [=====>........................] - ETA: 1s - loss: 0.0722 - accuracy: 0.4842
## 122/524 [=====>........................] - ETA: 1s - loss: 0.0718 - accuracy: 0.4900
## 139/524 [======>.......................] - ETA: 1s - loss: 0.0718 - accuracy: 0.4894
## 156/524 [=======>......................] - ETA: 1s - loss: 0.0718 - accuracy: 0.4898
## 172/524 [========>.....................] - ETA: 1s - loss: 0.0720 - accuracy: 0.4886
## 189/524 [=========>....................] - ETA: 1s - loss: 0.0724 - accuracy: 0.4838
## 205/524 [==========>...................] - ETA: 0s - loss: 0.0722 - accuracy: 0.4863
## 222/524 [===========>..................] - ETA: 0s - loss: 0.0722 - accuracy: 0.4865
## 240/524 [============>.................] - ETA: 0s - loss: 0.0720 - accuracy: 0.4849
## 257/524 [=============>................] - ETA: 0s - loss: 0.0719 - accuracy: 0.4863
## 274/524 [==============>...............] - ETA: 0s - loss: 0.0718 - accuracy: 0.4872
## 290/524 [===============>..............] - ETA: 0s - loss: 0.0719 - accuracy: 0.4861
## 296/524 [===============>..............] - ETA: 0s - loss: 0.0718 - accuracy: 0.4866
## 311/524 [================>.............] - ETA: 0s - loss: 0.0718 - accuracy: 0.4861
## 328/524 [=================>............] - ETA: 0s - loss: 0.0717 - accuracy: 0.4872
## 345/524 [==================>...........] - ETA: 0s - loss: 0.0717 - accuracy: 0.4863
## 362/524 [===================>..........] - ETA: 0s - loss: 0.0716 - accuracy: 0.4871
## 371/524 [====================>.........] - ETA: 0s - loss: 0.0715 - accuracy: 0.4887
## 388/524 [=====================>........] - ETA: 0s - loss: 0.0716 - accuracy: 0.4879
## 404/524 [======================>.......] - ETA: 0s - loss: 0.0716 - accuracy: 0.4877
## 422/524 [=======================>......] - ETA: 0s - loss: 0.0716 - accuracy: 0.4872
## 439/524 [========================>.....] - ETA: 0s - loss: 0.0715 - accuracy: 0.4868
## 456/524 [=========================>....] - ETA: 0s - loss: 0.0716 - accuracy: 0.4868
## 473/524 [==========================>...] - ETA: 0s - loss: 0.0715 - accuracy: 0.4874
## 490/524 [===========================>..] - ETA: 0s - loss: 0.0715 - accuracy: 0.4870
## 507/524 [============================>.] - ETA: 0s - loss: 0.0715 - accuracy: 0.4881
## 524/524 [==============================] - ETA: 0s - loss: 0.0714 - accuracy: 0.4866
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0714 - accuracy: 0.4866 - val_loss: 0.0704 - val_accuracy: 0.9485
## Epoch 5/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0684 - accuracy: 0.4688
##  16/524 [..............................] - ETA: 1s - loss: 0.0718 - accuracy: 0.5312
##  33/524 [>.............................] - ETA: 1s - loss: 0.0729 - accuracy: 0.4962
##  50/524 [=>............................] - ETA: 1s - loss: 0.0725 - accuracy: 0.4819
##  67/524 [==>...........................] - ETA: 1s - loss: 0.0714 - accuracy: 0.4781
##  84/524 [===>..........................] - ETA: 1s - loss: 0.0711 - accuracy: 0.4851
## 101/524 [====>.........................] - ETA: 1s - loss: 0.0714 - accuracy: 0.4882
## 118/524 [=====>........................] - ETA: 1s - loss: 0.0710 - accuracy: 0.4886
## 135/524 [======>.......................] - ETA: 1s - loss: 0.0706 - accuracy: 0.4889
## 152/524 [=======>......................] - ETA: 1s - loss: 0.0704 - accuracy: 0.4881
## 169/524 [========>.....................] - ETA: 1s - loss: 0.0702 - accuracy: 0.4885
## 184/524 [=========>....................] - ETA: 1s - loss: 0.0700 - accuracy: 0.4891
## 202/524 [==========>...................] - ETA: 0s - loss: 0.0700 - accuracy: 0.4909
## 219/524 [===========>..................] - ETA: 0s - loss: 0.0702 - accuracy: 0.4882
## 237/524 [============>.................] - ETA: 0s - loss: 0.0701 - accuracy: 0.4884
## 255/524 [=============>................] - ETA: 0s - loss: 0.0702 - accuracy: 0.4940
## 272/524 [==============>...............] - ETA: 0s - loss: 0.0702 - accuracy: 0.4918
## 289/524 [===============>..............] - ETA: 0s - loss: 0.0701 - accuracy: 0.4926
## 306/524 [================>.............] - ETA: 0s - loss: 0.0699 - accuracy: 0.4930
## 323/524 [=================>............] - ETA: 0s - loss: 0.0700 - accuracy: 0.4926
## 340/524 [==================>...........] - ETA: 0s - loss: 0.0701 - accuracy: 0.4922
## 357/524 [===================>..........] - ETA: 0s - loss: 0.0701 - accuracy: 0.4924
## 375/524 [====================>.........] - ETA: 0s - loss: 0.0701 - accuracy: 0.4920
## 392/524 [=====================>........] - ETA: 0s - loss: 0.0700 - accuracy: 0.4922
## 408/524 [======================>.......] - ETA: 0s - loss: 0.0701 - accuracy: 0.4927
## 426/524 [=======================>......] - ETA: 0s - loss: 0.0699 - accuracy: 0.4938
## 442/524 [========================>.....] - ETA: 0s - loss: 0.0699 - accuracy: 0.4936
## 457/524 [=========================>....] - ETA: 0s - loss: 0.0700 - accuracy: 0.4942
## 473/524 [==========================>...] - ETA: 0s - loss: 0.0701 - accuracy: 0.4944
## 491/524 [===========================>..] - ETA: 0s - loss: 0.0700 - accuracy: 0.4947
## 507/524 [============================>.] - ETA: 0s - loss: 0.0700 - accuracy: 0.4935
## 524/524 [==============================] - ETA: 0s - loss: 0.0699 - accuracy: 0.4940
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0699 - accuracy: 0.4940 - val_loss: 0.0653 - val_accuracy: 0.9585
## Epoch 6/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0716 - accuracy: 0.3750
##  18/524 [>.............................] - ETA: 1s - loss: 0.0706 - accuracy: 0.4774
##  35/524 [=>............................] - ETA: 1s - loss: 0.0702 - accuracy: 0.4705
##  52/524 [=>............................] - ETA: 1s - loss: 0.0701 - accuracy: 0.4694
##  68/524 [==>...........................] - ETA: 1s - loss: 0.0700 - accuracy: 0.4605
##  85/524 [===>..........................] - ETA: 1s - loss: 0.0702 - accuracy: 0.4684
## 102/524 [====>.........................] - ETA: 1s - loss: 0.0701 - accuracy: 0.4715
## 119/524 [=====>........................] - ETA: 1s - loss: 0.0694 - accuracy: 0.4716
## 136/524 [======>.......................] - ETA: 1s - loss: 0.0697 - accuracy: 0.4743
## 153/524 [=======>......................] - ETA: 1s - loss: 0.0700 - accuracy: 0.4753
## 170/524 [========>.....................] - ETA: 1s - loss: 0.0701 - accuracy: 0.4752
## 186/524 [=========>....................] - ETA: 1s - loss: 0.0700 - accuracy: 0.4756
## 204/524 [==========>...................] - ETA: 0s - loss: 0.0701 - accuracy: 0.4772
## 221/524 [===========>..................] - ETA: 0s - loss: 0.0699 - accuracy: 0.4764
## 238/524 [============>.................] - ETA: 0s - loss: 0.0699 - accuracy: 0.4766
## 255/524 [=============>................] - ETA: 0s - loss: 0.0698 - accuracy: 0.4787
## 272/524 [==============>...............] - ETA: 0s - loss: 0.0698 - accuracy: 0.4791
## 289/524 [===============>..............] - ETA: 0s - loss: 0.0697 - accuracy: 0.4806
## 307/524 [================>.............] - ETA: 0s - loss: 0.0698 - accuracy: 0.4807
## 324/524 [=================>............] - ETA: 0s - loss: 0.0699 - accuracy: 0.4796
## 340/524 [==================>...........] - ETA: 0s - loss: 0.0698 - accuracy: 0.4785
## 357/524 [===================>..........] - ETA: 0s - loss: 0.0698 - accuracy: 0.4805
## 373/524 [====================>.........] - ETA: 0s - loss: 0.0697 - accuracy: 0.4803
## 390/524 [=====================>........] - ETA: 0s - loss: 0.0696 - accuracy: 0.4805
## 408/524 [======================>.......] - ETA: 0s - loss: 0.0695 - accuracy: 0.4799
## 424/524 [=======================>......] - ETA: 0s - loss: 0.0694 - accuracy: 0.4794
## 441/524 [========================>.....] - ETA: 0s - loss: 0.0694 - accuracy: 0.4797
## 458/524 [=========================>....] - ETA: 0s - loss: 0.0693 - accuracy: 0.4827
## 476/524 [==========================>...] - ETA: 0s - loss: 0.0692 - accuracy: 0.4839
## 493/524 [===========================>..] - ETA: 0s - loss: 0.0693 - accuracy: 0.4854
## 511/524 [============================>.] - ETA: 0s - loss: 0.0693 - accuracy: 0.4853
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0693 - accuracy: 0.4857 - val_loss: 0.0623 - val_accuracy: 0.9649
## Epoch 7/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0605 - accuracy: 0.5625
##  18/524 [>.............................] - ETA: 1s - loss: 0.0703 - accuracy: 0.4705
##  34/524 [>.............................] - ETA: 1s - loss: 0.0702 - accuracy: 0.4678
##  48/524 [=>............................] - ETA: 1s - loss: 0.0700 - accuracy: 0.4688
##  65/524 [==>...........................] - ETA: 1s - loss: 0.0693 - accuracy: 0.4764
##  81/524 [===>..........................] - ETA: 1s - loss: 0.0690 - accuracy: 0.4761
##  98/524 [====>.........................] - ETA: 1s - loss: 0.0685 - accuracy: 0.4764
## 114/524 [=====>........................] - ETA: 1s - loss: 0.0681 - accuracy: 0.4860
## 132/524 [======>.......................] - ETA: 1s - loss: 0.0681 - accuracy: 0.4920
## 149/524 [=======>......................] - ETA: 1s - loss: 0.0683 - accuracy: 0.4924
## 167/524 [========>.....................] - ETA: 1s - loss: 0.0683 - accuracy: 0.4961
## 183/524 [=========>....................] - ETA: 1s - loss: 0.0683 - accuracy: 0.4976
## 199/524 [==========>...................] - ETA: 1s - loss: 0.0685 - accuracy: 0.4928
## 216/524 [===========>..................] - ETA: 0s - loss: 0.0685 - accuracy: 0.4910
## 233/524 [============>.................] - ETA: 0s - loss: 0.0684 - accuracy: 0.4889
## 250/524 [=============>................] - ETA: 0s - loss: 0.0685 - accuracy: 0.4902
## 267/524 [==============>...............] - ETA: 0s - loss: 0.0684 - accuracy: 0.4902
## 284/524 [===============>..............] - ETA: 0s - loss: 0.0683 - accuracy: 0.4905
## 301/524 [================>.............] - ETA: 0s - loss: 0.0681 - accuracy: 0.4915
## 318/524 [=================>............] - ETA: 0s - loss: 0.0680 - accuracy: 0.4927
## 335/524 [==================>...........] - ETA: 0s - loss: 0.0681 - accuracy: 0.4931
## 353/524 [===================>..........] - ETA: 0s - loss: 0.0680 - accuracy: 0.4939
## 370/524 [====================>.........] - ETA: 0s - loss: 0.0680 - accuracy: 0.4933
## 385/524 [=====================>........] - ETA: 0s - loss: 0.0680 - accuracy: 0.4937
## 402/524 [======================>.......] - ETA: 0s - loss: 0.0680 - accuracy: 0.4942
## 419/524 [======================>.......] - ETA: 0s - loss: 0.0680 - accuracy: 0.4953
## 436/524 [=======================>......] - ETA: 0s - loss: 0.0680 - accuracy: 0.4976
## 453/524 [========================>.....] - ETA: 0s - loss: 0.0679 - accuracy: 0.4981
## 469/524 [=========================>....] - ETA: 0s - loss: 0.0680 - accuracy: 0.4965
## 486/524 [==========================>...] - ETA: 0s - loss: 0.0680 - accuracy: 0.4952
## 504/524 [===========================>..] - ETA: 0s - loss: 0.0680 - accuracy: 0.4953
## 521/524 [============================>.] - ETA: 0s - loss: 0.0680 - accuracy: 0.4951
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0680 - accuracy: 0.4953 - val_loss: 0.0615 - val_accuracy: 0.9656
## Epoch 8/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0756 - accuracy: 0.4062
##  18/524 [>.............................] - ETA: 1s - loss: 0.0685 - accuracy: 0.4983
##  35/524 [=>............................] - ETA: 1s - loss: 0.0674 - accuracy: 0.4821
##  52/524 [=>............................] - ETA: 1s - loss: 0.0676 - accuracy: 0.4880
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0676 - accuracy: 0.4977
##  86/524 [===>..........................] - ETA: 1s - loss: 0.0673 - accuracy: 0.4993
## 104/524 [====>.........................] - ETA: 1s - loss: 0.0673 - accuracy: 0.5000
## 121/524 [=====>........................] - ETA: 1s - loss: 0.0674 - accuracy: 0.5031
## 138/524 [======>.......................] - ETA: 1s - loss: 0.0674 - accuracy: 0.5052
## 155/524 [=======>......................] - ETA: 1s - loss: 0.0673 - accuracy: 0.5083
## 172/524 [========>.....................] - ETA: 1s - loss: 0.0676 - accuracy: 0.5064
## 189/524 [=========>....................] - ETA: 1s - loss: 0.0676 - accuracy: 0.5055
## 205/524 [==========>...................] - ETA: 0s - loss: 0.0677 - accuracy: 0.5003
## 223/524 [===========>..................] - ETA: 0s - loss: 0.0677 - accuracy: 0.4979
## 241/524 [============>.................] - ETA: 0s - loss: 0.0677 - accuracy: 0.4959
## 258/524 [=============>................] - ETA: 0s - loss: 0.0675 - accuracy: 0.4966
## 275/524 [==============>...............] - ETA: 0s - loss: 0.0675 - accuracy: 0.4965
## 293/524 [===============>..............] - ETA: 0s - loss: 0.0675 - accuracy: 0.4977
## 309/524 [================>.............] - ETA: 0s - loss: 0.0675 - accuracy: 0.4979
## 326/524 [=================>............] - ETA: 0s - loss: 0.0676 - accuracy: 0.4964
## 343/524 [==================>...........] - ETA: 0s - loss: 0.0676 - accuracy: 0.4974
## 359/524 [===================>..........] - ETA: 0s - loss: 0.0676 - accuracy: 0.4972
## 376/524 [====================>.........] - ETA: 0s - loss: 0.0676 - accuracy: 0.4986
## 394/524 [=====================>........] - ETA: 0s - loss: 0.0677 - accuracy: 0.4983
## 411/524 [======================>.......] - ETA: 0s - loss: 0.0677 - accuracy: 0.4964
## 428/524 [=======================>......] - ETA: 0s - loss: 0.0677 - accuracy: 0.4952
## 444/524 [========================>.....] - ETA: 0s - loss: 0.0677 - accuracy: 0.4947
## 462/524 [=========================>....] - ETA: 0s - loss: 0.0677 - accuracy: 0.4937
## 479/524 [==========================>...] - ETA: 0s - loss: 0.0677 - accuracy: 0.4941
## 496/524 [===========================>..] - ETA: 0s - loss: 0.0678 - accuracy: 0.4929
## 512/524 [============================>.] - ETA: 0s - loss: 0.0677 - accuracy: 0.4924
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0678 - accuracy: 0.4927 - val_loss: 0.0621 - val_accuracy: 0.9621
## Epoch 9/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0667 - accuracy: 0.3125
##  18/524 [>.............................] - ETA: 1s - loss: 0.0683 - accuracy: 0.5052
##  35/524 [=>............................] - ETA: 1s - loss: 0.0678 - accuracy: 0.4821
##  49/524 [=>............................] - ETA: 1s - loss: 0.0674 - accuracy: 0.4770
##  65/524 [==>...........................] - ETA: 1s - loss: 0.0673 - accuracy: 0.4832
##  83/524 [===>..........................] - ETA: 1s - loss: 0.0670 - accuracy: 0.4887
## 100/524 [====>.........................] - ETA: 1s - loss: 0.0666 - accuracy: 0.4891
## 117/524 [=====>........................] - ETA: 1s - loss: 0.0666 - accuracy: 0.4939
## 135/524 [======>.......................] - ETA: 1s - loss: 0.0666 - accuracy: 0.4979
## 151/524 [=======>......................] - ETA: 1s - loss: 0.0667 - accuracy: 0.5029
## 167/524 [========>.....................] - ETA: 1s - loss: 0.0669 - accuracy: 0.5017
## 184/524 [=========>....................] - ETA: 1s - loss: 0.0668 - accuracy: 0.5031
## 201/524 [==========>...................] - ETA: 1s - loss: 0.0668 - accuracy: 0.4984
## 217/524 [===========>..................] - ETA: 0s - loss: 0.0667 - accuracy: 0.4999
## 234/524 [============>.................] - ETA: 0s - loss: 0.0668 - accuracy: 0.5008
## 251/524 [=============>................] - ETA: 0s - loss: 0.0666 - accuracy: 0.5039
## 268/524 [==============>...............] - ETA: 0s - loss: 0.0666 - accuracy: 0.5029
## 285/524 [===============>..............] - ETA: 0s - loss: 0.0667 - accuracy: 0.5029
## 302/524 [================>.............] - ETA: 0s - loss: 0.0666 - accuracy: 0.5054
## 320/524 [=================>............] - ETA: 0s - loss: 0.0665 - accuracy: 0.5071
## 336/524 [==================>...........] - ETA: 0s - loss: 0.0666 - accuracy: 0.5069
## 353/524 [===================>..........] - ETA: 0s - loss: 0.0667 - accuracy: 0.5054
## 370/524 [====================>.........] - ETA: 0s - loss: 0.0666 - accuracy: 0.5041
## 386/524 [=====================>........] - ETA: 0s - loss: 0.0666 - accuracy: 0.5045
## 403/524 [======================>.......] - ETA: 0s - loss: 0.0666 - accuracy: 0.5051
## 421/524 [=======================>......] - ETA: 0s - loss: 0.0666 - accuracy: 0.5046
## 438/524 [========================>.....] - ETA: 0s - loss: 0.0665 - accuracy: 0.5040
## 454/524 [========================>.....] - ETA: 0s - loss: 0.0666 - accuracy: 0.5051
## 471/524 [=========================>....] - ETA: 0s - loss: 0.0665 - accuracy: 0.5054
## 487/524 [==========================>...] - ETA: 0s - loss: 0.0666 - accuracy: 0.5043
## 504/524 [===========================>..] - ETA: 0s - loss: 0.0667 - accuracy: 0.5053
## 521/524 [============================>.] - ETA: 0s - loss: 0.0667 - accuracy: 0.5043
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0667 - accuracy: 0.5044 - val_loss: 0.0582 - val_accuracy: 0.9740
## Epoch 10/60
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0748 - accuracy: 0.5312
##  18/524 [>.............................] - ETA: 1s - loss: 0.0664 - accuracy: 0.5000
##  35/524 [=>............................] - ETA: 1s - loss: 0.0653 - accuracy: 0.4839
##  52/524 [=>............................] - ETA: 1s - loss: 0.0656 - accuracy: 0.4904
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0653 - accuracy: 0.4973
##  85/524 [===>..........................] - ETA: 1s - loss: 0.0652 - accuracy: 0.5044
## 102/524 [====>.........................] - ETA: 1s - loss: 0.0656 - accuracy: 0.4975
## 118/524 [=====>........................] - ETA: 1s - loss: 0.0655 - accuracy: 0.4989
## 135/524 [======>.......................] - ETA: 1s - loss: 0.0658 - accuracy: 0.5074
## 151/524 [=======>......................] - ETA: 1s - loss: 0.0656 - accuracy: 0.5077
## 168/524 [========>.....................] - ETA: 1s - loss: 0.0656 - accuracy: 0.5112
## 185/524 [=========>....................] - ETA: 1s - loss: 0.0657 - accuracy: 0.5123
## 203/524 [==========>...................] - ETA: 0s - loss: 0.0658 - accuracy: 0.5125
## 220/524 [===========>..................] - ETA: 0s - loss: 0.0658 - accuracy: 0.5128
## 237/524 [============>.................] - ETA: 0s - loss: 0.0658 - accuracy: 0.5127
## 254/524 [=============>................] - ETA: 0s - loss: 0.0660 - accuracy: 0.5128
## 272/524 [==============>...............] - ETA: 0s - loss: 0.0659 - accuracy: 0.5121
## 289/524 [===============>..............] - ETA: 0s - loss: 0.0659 - accuracy: 0.5117
## 306/524 [================>.............] - ETA: 0s - loss: 0.0660 - accuracy: 0.5101
## 323/524 [=================>............] - ETA: 0s - loss: 0.0660 - accuracy: 0.5099
## 340/524 [==================>...........] - ETA: 0s - loss: 0.0661 - accuracy: 0.5095
## 358/524 [===================>..........] - ETA: 0s - loss: 0.0661 - accuracy: 0.5094
## 375/524 [====================>.........] - ETA: 0s - loss: 0.0660 - accuracy: 0.5088
## 391/524 [=====================>........] - ETA: 0s - loss: 0.0660 - accuracy: 0.5077
## 408/524 [======================>.......] - ETA: 0s - loss: 0.0661 - accuracy: 0.5074
## 425/524 [=======================>......] - ETA: 0s - loss: 0.0660 - accuracy: 0.5082
## 442/524 [========================>.....] - ETA: 0s - loss: 0.0660 - accuracy: 0.5096
## 459/524 [=========================>....] - ETA: 0s - loss: 0.0660 - accuracy: 0.5105
## 476/524 [==========================>...] - ETA: 0s - loss: 0.0659 - accuracy: 0.5105
## 493/524 [===========================>..] - ETA: 0s - loss: 0.0660 - accuracy: 0.5105
## 510/524 [============================>.] - ETA: 0s - loss: 0.0660 - accuracy: 0.5097
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0660 - accuracy: 0.5100 - val_loss: 0.0573 - val_accuracy: 0.9649
## Epoch 11/60
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0679 - accuracy: 0.6562
##  18/524 [>.............................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5382
##  36/524 [=>............................] - ETA: 1s - loss: 0.0653 - accuracy: 0.5165
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0654 - accuracy: 0.5106
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0657 - accuracy: 0.5098
##  86/524 [===>..........................] - ETA: 1s - loss: 0.0657 - accuracy: 0.5142
## 103/524 [====>.........................] - ETA: 1s - loss: 0.0657 - accuracy: 0.5112
## 120/524 [=====>........................] - ETA: 1s - loss: 0.0656 - accuracy: 0.5130
## 137/524 [======>.......................] - ETA: 1s - loss: 0.0654 - accuracy: 0.5192
## 154/524 [=======>......................] - ETA: 1s - loss: 0.0656 - accuracy: 0.5215
## 171/524 [========>.....................] - ETA: 1s - loss: 0.0657 - accuracy: 0.5205
## 188/524 [=========>....................] - ETA: 1s - loss: 0.0657 - accuracy: 0.5173
## 204/524 [==========>...................] - ETA: 0s - loss: 0.0656 - accuracy: 0.5188
## 222/524 [===========>..................] - ETA: 0s - loss: 0.0657 - accuracy: 0.5213
## 239/524 [============>.................] - ETA: 0s - loss: 0.0657 - accuracy: 0.5228
## 257/524 [=============>................] - ETA: 0s - loss: 0.0657 - accuracy: 0.5225
## 274/524 [==============>...............] - ETA: 0s - loss: 0.0658 - accuracy: 0.5205
## 290/524 [===============>..............] - ETA: 0s - loss: 0.0658 - accuracy: 0.5212
## 308/524 [================>.............] - ETA: 0s - loss: 0.0657 - accuracy: 0.5214
## 323/524 [=================>............] - ETA: 0s - loss: 0.0657 - accuracy: 0.5225
## 341/524 [==================>...........] - ETA: 0s - loss: 0.0656 - accuracy: 0.5242
## 358/524 [===================>..........] - ETA: 0s - loss: 0.0655 - accuracy: 0.5261
## 375/524 [====================>.........] - ETA: 0s - loss: 0.0656 - accuracy: 0.5257
## 393/524 [=====================>........] - ETA: 0s - loss: 0.0655 - accuracy: 0.5266
## 409/524 [======================>.......] - ETA: 0s - loss: 0.0656 - accuracy: 0.5283
## 426/524 [=======================>......] - ETA: 0s - loss: 0.0656 - accuracy: 0.5274
## 443/524 [========================>.....] - ETA: 0s - loss: 0.0655 - accuracy: 0.5275
## 460/524 [=========================>....] - ETA: 0s - loss: 0.0656 - accuracy: 0.5261
## 476/524 [==========================>...] - ETA: 0s - loss: 0.0656 - accuracy: 0.5268
## 493/524 [===========================>..] - ETA: 0s - loss: 0.0656 - accuracy: 0.5266
## 510/524 [============================>.] - ETA: 0s - loss: 0.0658 - accuracy: 0.5254
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0658 - accuracy: 0.5236 - val_loss: 0.0540 - val_accuracy: 0.9735
## Epoch 12/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0634 - accuracy: 0.5000
##  17/524 [..............................] - ETA: 1s - loss: 0.0652 - accuracy: 0.4982
##  34/524 [>.............................] - ETA: 1s - loss: 0.0652 - accuracy: 0.5083
##  51/524 [=>............................] - ETA: 1s - loss: 0.0646 - accuracy: 0.5067
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0642 - accuracy: 0.5213
##  86/524 [===>..........................] - ETA: 1s - loss: 0.0643 - accuracy: 0.5283
## 102/524 [====>.........................] - ETA: 1s - loss: 0.0647 - accuracy: 0.5297
## 120/524 [=====>........................] - ETA: 1s - loss: 0.0646 - accuracy: 0.5247
## 136/524 [======>.......................] - ETA: 1s - loss: 0.0648 - accuracy: 0.5271
## 153/524 [=======>......................] - ETA: 1s - loss: 0.0651 - accuracy: 0.5202
## 171/524 [========>.....................] - ETA: 1s - loss: 0.0650 - accuracy: 0.5212
## 187/524 [=========>....................] - ETA: 1s - loss: 0.0650 - accuracy: 0.5221
## 204/524 [==========>...................] - ETA: 0s - loss: 0.0652 - accuracy: 0.5176
## 221/524 [===========>..................] - ETA: 0s - loss: 0.0652 - accuracy: 0.5160
## 237/524 [============>.................] - ETA: 0s - loss: 0.0651 - accuracy: 0.5165
## 253/524 [=============>................] - ETA: 0s - loss: 0.0651 - accuracy: 0.5179
## 270/524 [==============>...............] - ETA: 0s - loss: 0.0651 - accuracy: 0.5168
## 286/524 [===============>..............] - ETA: 0s - loss: 0.0650 - accuracy: 0.5169
## 302/524 [================>.............] - ETA: 0s - loss: 0.0649 - accuracy: 0.5183
## 319/524 [=================>............] - ETA: 0s - loss: 0.0650 - accuracy: 0.5192
## 336/524 [==================>...........] - ETA: 0s - loss: 0.0651 - accuracy: 0.5196
## 353/524 [===================>..........] - ETA: 0s - loss: 0.0652 - accuracy: 0.5176
## 370/524 [====================>.........] - ETA: 0s - loss: 0.0652 - accuracy: 0.5185
## 388/524 [=====================>........] - ETA: 0s - loss: 0.0652 - accuracy: 0.5184
## 405/524 [======================>.......] - ETA: 0s - loss: 0.0653 - accuracy: 0.5168
## 422/524 [=======================>......] - ETA: 0s - loss: 0.0652 - accuracy: 0.5185
## 440/524 [========================>.....] - ETA: 0s - loss: 0.0652 - accuracy: 0.5197
## 457/524 [=========================>....] - ETA: 0s - loss: 0.0652 - accuracy: 0.5218
## 474/524 [==========================>...] - ETA: 0s - loss: 0.0652 - accuracy: 0.5216
## 490/524 [===========================>..] - ETA: 0s - loss: 0.0652 - accuracy: 0.5227
## 507/524 [============================>.] - ETA: 0s - loss: 0.0653 - accuracy: 0.5221
## 522/524 [============================>.] - ETA: 0s - loss: 0.0653 - accuracy: 0.5220
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0653 - accuracy: 0.5216 - val_loss: 0.0567 - val_accuracy: 0.9568
## Epoch 13/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0604 - accuracy: 0.4062
##  18/524 [>.............................] - ETA: 1s - loss: 0.0685 - accuracy: 0.5052
##  35/524 [=>............................] - ETA: 1s - loss: 0.0668 - accuracy: 0.5027
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0664 - accuracy: 0.5136
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0657 - accuracy: 0.5201
##  87/524 [===>..........................] - ETA: 1s - loss: 0.0654 - accuracy: 0.5208
## 105/524 [=====>........................] - ETA: 1s - loss: 0.0650 - accuracy: 0.5211
## 121/524 [=====>........................] - ETA: 1s - loss: 0.0648 - accuracy: 0.5261
## 137/524 [======>.......................] - ETA: 1s - loss: 0.0648 - accuracy: 0.5287
## 154/524 [=======>......................] - ETA: 1s - loss: 0.0648 - accuracy: 0.5286
## 171/524 [========>.....................] - ETA: 1s - loss: 0.0647 - accuracy: 0.5289
## 188/524 [=========>....................] - ETA: 1s - loss: 0.0648 - accuracy: 0.5286
## 205/524 [==========>...................] - ETA: 0s - loss: 0.0647 - accuracy: 0.5287
## 222/524 [===========>..................] - ETA: 0s - loss: 0.0646 - accuracy: 0.5289
## 239/524 [============>.................] - ETA: 0s - loss: 0.0647 - accuracy: 0.5294
## 256/524 [=============>................] - ETA: 0s - loss: 0.0648 - accuracy: 0.5294
## 273/524 [==============>...............] - ETA: 0s - loss: 0.0648 - accuracy: 0.5296
## 290/524 [===============>..............] - ETA: 0s - loss: 0.0649 - accuracy: 0.5293
## 306/524 [================>.............] - ETA: 0s - loss: 0.0649 - accuracy: 0.5283
## 324/524 [=================>............] - ETA: 0s - loss: 0.0649 - accuracy: 0.5297
## 340/524 [==================>...........] - ETA: 0s - loss: 0.0649 - accuracy: 0.5293
## 357/524 [===================>..........] - ETA: 0s - loss: 0.0650 - accuracy: 0.5284
## 375/524 [====================>.........] - ETA: 0s - loss: 0.0650 - accuracy: 0.5281
## 391/524 [=====================>........] - ETA: 0s - loss: 0.0649 - accuracy: 0.5284
## 408/524 [======================>.......] - ETA: 0s - loss: 0.0649 - accuracy: 0.5286
## 425/524 [=======================>......] - ETA: 0s - loss: 0.0650 - accuracy: 0.5298
## 442/524 [========================>.....] - ETA: 0s - loss: 0.0649 - accuracy: 0.5297
## 459/524 [=========================>....] - ETA: 0s - loss: 0.0649 - accuracy: 0.5302
## 476/524 [==========================>...] - ETA: 0s - loss: 0.0649 - accuracy: 0.5294
## 492/524 [===========================>..] - ETA: 0s - loss: 0.0649 - accuracy: 0.5288
## 509/524 [============================>.] - ETA: 0s - loss: 0.0649 - accuracy: 0.5292
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0649 - accuracy: 0.5295 - val_loss: 0.0566 - val_accuracy: 0.9492
## Epoch 14/60
## 
##   1/524 [..............................] - ETA: 2s - loss: 0.0704 - accuracy: 0.5625
##  19/524 [>.............................] - ETA: 1s - loss: 0.0658 - accuracy: 0.5609
##  36/524 [=>............................] - ETA: 1s - loss: 0.0652 - accuracy: 0.5477
##  53/524 [==>...........................] - ETA: 1s - loss: 0.0642 - accuracy: 0.5513
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0642 - accuracy: 0.5353
##  87/524 [===>..........................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5377
## 104/524 [====>.........................] - ETA: 1s - loss: 0.0642 - accuracy: 0.5367
## 121/524 [=====>........................] - ETA: 1s - loss: 0.0644 - accuracy: 0.5362
## 138/524 [======>.......................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5369
## 154/524 [=======>......................] - ETA: 1s - loss: 0.0643 - accuracy: 0.5371
## 171/524 [========>.....................] - ETA: 1s - loss: 0.0642 - accuracy: 0.5362
## 188/524 [=========>....................] - ETA: 1s - loss: 0.0643 - accuracy: 0.5364
## 204/524 [==========>...................] - ETA: 0s - loss: 0.0643 - accuracy: 0.5354
## 221/524 [===========>..................] - ETA: 0s - loss: 0.0642 - accuracy: 0.5380
## 238/524 [============>.................] - ETA: 0s - loss: 0.0641 - accuracy: 0.5360
## 255/524 [=============>................] - ETA: 0s - loss: 0.0641 - accuracy: 0.5363
## 272/524 [==============>...............] - ETA: 0s - loss: 0.0642 - accuracy: 0.5370
## 289/524 [===============>..............] - ETA: 0s - loss: 0.0642 - accuracy: 0.5372
## 302/524 [================>.............] - ETA: 0s - loss: 0.0644 - accuracy: 0.5359
## 319/524 [=================>............] - ETA: 0s - loss: 0.0645 - accuracy: 0.5358
## 336/524 [==================>...........] - ETA: 0s - loss: 0.0645 - accuracy: 0.5341
## 352/524 [===================>..........] - ETA: 0s - loss: 0.0645 - accuracy: 0.5340
## 369/524 [====================>.........] - ETA: 0s - loss: 0.0644 - accuracy: 0.5341
## 386/524 [=====================>........] - ETA: 0s - loss: 0.0644 - accuracy: 0.5359
## 403/524 [======================>.......] - ETA: 0s - loss: 0.0644 - accuracy: 0.5350
## 420/524 [=======================>......] - ETA: 0s - loss: 0.0645 - accuracy: 0.5350
## 436/524 [=======================>......] - ETA: 0s - loss: 0.0645 - accuracy: 0.5356
## 453/524 [========================>.....] - ETA: 0s - loss: 0.0645 - accuracy: 0.5352
## 471/524 [=========================>....] - ETA: 0s - loss: 0.0646 - accuracy: 0.5339
## 488/524 [==========================>...] - ETA: 0s - loss: 0.0646 - accuracy: 0.5333
## 506/524 [===========================>..] - ETA: 0s - loss: 0.0645 - accuracy: 0.5337
## 523/524 [============================>.] - ETA: 0s - loss: 0.0645 - accuracy: 0.5347
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0645 - accuracy: 0.5349 - val_loss: 0.0564 - val_accuracy: 0.9456
## Epoch 15/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0752 - accuracy: 0.4375
##  16/524 [..............................] - ETA: 1s - loss: 0.0659 - accuracy: 0.4902
##  33/524 [>.............................] - ETA: 1s - loss: 0.0658 - accuracy: 0.5256
##  50/524 [=>............................] - ETA: 1s - loss: 0.0655 - accuracy: 0.5325
##  68/524 [==>...........................] - ETA: 1s - loss: 0.0655 - accuracy: 0.5381
##  84/524 [===>..........................] - ETA: 1s - loss: 0.0650 - accuracy: 0.5391
## 101/524 [====>.........................] - ETA: 1s - loss: 0.0643 - accuracy: 0.5455
## 119/524 [=====>........................] - ETA: 1s - loss: 0.0642 - accuracy: 0.5462
## 136/524 [======>.......................] - ETA: 1s - loss: 0.0640 - accuracy: 0.5460
## 153/524 [=======>......................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5427
## 170/524 [========>.....................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5412
## 188/524 [=========>....................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5429
## 203/524 [==========>...................] - ETA: 0s - loss: 0.0642 - accuracy: 0.5425
## 221/524 [===========>..................] - ETA: 0s - loss: 0.0642 - accuracy: 0.5413
## 235/524 [============>.................] - ETA: 0s - loss: 0.0642 - accuracy: 0.5419
## 251/524 [=============>................] - ETA: 0s - loss: 0.0641 - accuracy: 0.5444
## 268/524 [==============>...............] - ETA: 0s - loss: 0.0642 - accuracy: 0.5429
## 284/524 [===============>..............] - ETA: 0s - loss: 0.0643 - accuracy: 0.5423
## 301/524 [================>.............] - ETA: 0s - loss: 0.0641 - accuracy: 0.5423
## 317/524 [=================>............] - ETA: 0s - loss: 0.0641 - accuracy: 0.5407
## 334/524 [==================>...........] - ETA: 0s - loss: 0.0640 - accuracy: 0.5424
## 351/524 [===================>..........] - ETA: 0s - loss: 0.0642 - accuracy: 0.5410
## 367/524 [====================>.........] - ETA: 0s - loss: 0.0642 - accuracy: 0.5427
## 385/524 [=====================>........] - ETA: 0s - loss: 0.0642 - accuracy: 0.5433
## 402/524 [======================>.......] - ETA: 0s - loss: 0.0642 - accuracy: 0.5423
## 419/524 [======================>.......] - ETA: 0s - loss: 0.0642 - accuracy: 0.5416
## 436/524 [=======================>......] - ETA: 0s - loss: 0.0641 - accuracy: 0.5434
## 454/524 [========================>.....] - ETA: 0s - loss: 0.0641 - accuracy: 0.5445
## 472/524 [==========================>...] - ETA: 0s - loss: 0.0640 - accuracy: 0.5442
## 490/524 [===========================>..] - ETA: 0s - loss: 0.0640 - accuracy: 0.5449
## 508/524 [============================>.] - ETA: 0s - loss: 0.0640 - accuracy: 0.5450
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0640 - accuracy: 0.5467 - val_loss: 0.0578 - val_accuracy: 0.9385
## Epoch 16/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0556 - accuracy: 0.6875
##  17/524 [..............................] - ETA: 1s - loss: 0.0640 - accuracy: 0.5901
##  34/524 [>.............................] - ETA: 1s - loss: 0.0625 - accuracy: 0.5818
##  51/524 [=>............................] - ETA: 1s - loss: 0.0626 - accuracy: 0.5613
##  68/524 [==>...........................] - ETA: 1s - loss: 0.0622 - accuracy: 0.5712
##  84/524 [===>..........................] - ETA: 1s - loss: 0.0625 - accuracy: 0.5722
## 101/524 [====>.........................] - ETA: 1s - loss: 0.0628 - accuracy: 0.5699
## 118/524 [=====>........................] - ETA: 1s - loss: 0.0627 - accuracy: 0.5675
## 136/524 [======>.......................] - ETA: 1s - loss: 0.0629 - accuracy: 0.5641
## 152/524 [=======>......................] - ETA: 1s - loss: 0.0629 - accuracy: 0.5615
## 169/524 [========>.....................] - ETA: 1s - loss: 0.0629 - accuracy: 0.5601
## 187/524 [=========>....................] - ETA: 1s - loss: 0.0633 - accuracy: 0.5605
## 204/524 [==========>...................] - ETA: 0s - loss: 0.0634 - accuracy: 0.5584
## 221/524 [===========>..................] - ETA: 0s - loss: 0.0636 - accuracy: 0.5597
## 239/524 [============>.................] - ETA: 0s - loss: 0.0635 - accuracy: 0.5558
## 256/524 [=============>................] - ETA: 0s - loss: 0.0636 - accuracy: 0.5546
## 273/524 [==============>...............] - ETA: 0s - loss: 0.0635 - accuracy: 0.5521
## 289/524 [===============>..............] - ETA: 0s - loss: 0.0636 - accuracy: 0.5515
## 306/524 [================>.............] - ETA: 0s - loss: 0.0636 - accuracy: 0.5504
## 323/524 [=================>............] - ETA: 0s - loss: 0.0636 - accuracy: 0.5526
## 340/524 [==================>...........] - ETA: 0s - loss: 0.0635 - accuracy: 0.5533
## 357/524 [===================>..........] - ETA: 0s - loss: 0.0636 - accuracy: 0.5530
## 373/524 [====================>.........] - ETA: 0s - loss: 0.0636 - accuracy: 0.5522
## 390/524 [=====================>........] - ETA: 0s - loss: 0.0637 - accuracy: 0.5504
## 407/524 [======================>.......] - ETA: 0s - loss: 0.0637 - accuracy: 0.5502
## 424/524 [=======================>......] - ETA: 0s - loss: 0.0637 - accuracy: 0.5510
## 441/524 [========================>.....] - ETA: 0s - loss: 0.0637 - accuracy: 0.5519
## 459/524 [=========================>....] - ETA: 0s - loss: 0.0636 - accuracy: 0.5523
## 476/524 [==========================>...] - ETA: 0s - loss: 0.0636 - accuracy: 0.5513
## 493/524 [===========================>..] - ETA: 0s - loss: 0.0637 - accuracy: 0.5505
## 510/524 [============================>.] - ETA: 0s - loss: 0.0637 - accuracy: 0.5513
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0637 - accuracy: 0.5517 - val_loss: 0.0536 - val_accuracy: 0.9437
## Epoch 17/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0529 - accuracy: 0.5625
##  18/524 [>.............................] - ETA: 1s - loss: 0.0634 - accuracy: 0.5885
##  34/524 [>.............................] - ETA: 1s - loss: 0.0630 - accuracy: 0.5763
##  51/524 [=>............................] - ETA: 1s - loss: 0.0628 - accuracy: 0.5594
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0634 - accuracy: 0.5630
##  86/524 [===>..........................] - ETA: 1s - loss: 0.0635 - accuracy: 0.5563
## 104/524 [====>.........................] - ETA: 1s - loss: 0.0633 - accuracy: 0.5574
## 121/524 [=====>........................] - ETA: 1s - loss: 0.0636 - accuracy: 0.5522
## 138/524 [======>.......................] - ETA: 1s - loss: 0.0639 - accuracy: 0.5485
## 154/524 [=======>......................] - ETA: 1s - loss: 0.0640 - accuracy: 0.5489
## 171/524 [========>.....................] - ETA: 1s - loss: 0.0641 - accuracy: 0.5484
## 189/524 [=========>....................] - ETA: 1s - loss: 0.0643 - accuracy: 0.5486
## 206/524 [==========>...................] - ETA: 0s - loss: 0.0641 - accuracy: 0.5470
## 223/524 [===========>..................] - ETA: 0s - loss: 0.0641 - accuracy: 0.5481
## 240/524 [============>.................] - ETA: 0s - loss: 0.0640 - accuracy: 0.5469
## 256/524 [=============>................] - ETA: 0s - loss: 0.0640 - accuracy: 0.5468
## 273/524 [==============>...............] - ETA: 0s - loss: 0.0639 - accuracy: 0.5501
## 291/524 [===============>..............] - ETA: 0s - loss: 0.0640 - accuracy: 0.5505
## 308/524 [================>.............] - ETA: 0s - loss: 0.0638 - accuracy: 0.5529
## 325/524 [=================>............] - ETA: 0s - loss: 0.0637 - accuracy: 0.5554
## 342/524 [==================>...........] - ETA: 0s - loss: 0.0635 - accuracy: 0.5571
## 359/524 [===================>..........] - ETA: 0s - loss: 0.0636 - accuracy: 0.5581
## 376/524 [====================>.........] - ETA: 0s - loss: 0.0636 - accuracy: 0.5598
## 394/524 [=====================>........] - ETA: 0s - loss: 0.0637 - accuracy: 0.5596
## 410/524 [======================>.......] - ETA: 0s - loss: 0.0636 - accuracy: 0.5588
## 426/524 [=======================>......] - ETA: 0s - loss: 0.0636 - accuracy: 0.5579
## 430/524 [=======================>......] - ETA: 0s - loss: 0.0635 - accuracy: 0.5578
## 440/524 [========================>.....] - ETA: 0s - loss: 0.0637 - accuracy: 0.5581
## 448/524 [========================>.....] - ETA: 0s - loss: 0.0637 - accuracy: 0.5582
## 463/524 [=========================>....] - ETA: 0s - loss: 0.0637 - accuracy: 0.5563
## 480/524 [==========================>...] - ETA: 0s - loss: 0.0636 - accuracy: 0.5574
## 495/524 [===========================>..] - ETA: 0s - loss: 0.0635 - accuracy: 0.5581
## 512/524 [============================>.] - ETA: 0s - loss: 0.0636 - accuracy: 0.5587
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0635 - accuracy: 0.5596 - val_loss: 0.0522 - val_accuracy: 0.9466
## Epoch 18/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0618 - accuracy: 0.6250
##  19/524 [>.............................] - ETA: 1s - loss: 0.0623 - accuracy: 0.5757
##  35/524 [=>............................] - ETA: 1s - loss: 0.0624 - accuracy: 0.5920
##  52/524 [=>............................] - ETA: 1s - loss: 0.0628 - accuracy: 0.5799
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0623 - accuracy: 0.5833
##  86/524 [===>..........................] - ETA: 1s - loss: 0.0627 - accuracy: 0.5741
## 103/524 [====>.........................] - ETA: 1s - loss: 0.0623 - accuracy: 0.5789
## 119/524 [=====>........................] - ETA: 1s - loss: 0.0623 - accuracy: 0.5738
## 136/524 [======>.......................] - ETA: 1s - loss: 0.0626 - accuracy: 0.5767
## 151/524 [=======>......................] - ETA: 1s - loss: 0.0626 - accuracy: 0.5704
## 168/524 [========>.....................] - ETA: 1s - loss: 0.0632 - accuracy: 0.5692
## 185/524 [=========>....................] - ETA: 1s - loss: 0.0633 - accuracy: 0.5657
## 202/524 [==========>...................] - ETA: 1s - loss: 0.0634 - accuracy: 0.5640
## 219/524 [===========>..................] - ETA: 0s - loss: 0.0634 - accuracy: 0.5664
## 235/524 [============>.................] - ETA: 0s - loss: 0.0633 - accuracy: 0.5660
## 250/524 [=============>................] - ETA: 0s - loss: 0.0633 - accuracy: 0.5645
## 267/524 [==============>...............] - ETA: 0s - loss: 0.0633 - accuracy: 0.5638
## 284/524 [===============>..............] - ETA: 0s - loss: 0.0634 - accuracy: 0.5637
## 302/524 [================>.............] - ETA: 0s - loss: 0.0633 - accuracy: 0.5651
## 319/524 [=================>............] - ETA: 0s - loss: 0.0632 - accuracy: 0.5663
## 336/524 [==================>...........] - ETA: 0s - loss: 0.0632 - accuracy: 0.5671
## 354/524 [===================>..........] - ETA: 0s - loss: 0.0632 - accuracy: 0.5664
## 371/524 [====================>.........] - ETA: 0s - loss: 0.0632 - accuracy: 0.5660
## 388/524 [=====================>........] - ETA: 0s - loss: 0.0634 - accuracy: 0.5648
## 405/524 [======================>.......] - ETA: 0s - loss: 0.0634 - accuracy: 0.5630
## 423/524 [=======================>......] - ETA: 0s - loss: 0.0634 - accuracy: 0.5620
## 440/524 [========================>.....] - ETA: 0s - loss: 0.0634 - accuracy: 0.5624
## 457/524 [=========================>....] - ETA: 0s - loss: 0.0634 - accuracy: 0.5633
## 474/524 [==========================>...] - ETA: 0s - loss: 0.0634 - accuracy: 0.5627
## 491/524 [===========================>..] - ETA: 0s - loss: 0.0635 - accuracy: 0.5622
## 507/524 [============================>.] - ETA: 0s - loss: 0.0634 - accuracy: 0.5611
## 524/524 [==============================] - ETA: 0s - loss: 0.0634 - accuracy: 0.5607
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0634 - accuracy: 0.5607 - val_loss: 0.0564 - val_accuracy: 0.9396
## Epoch 19/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0615 - accuracy: 0.6562
##  18/524 [>.............................] - ETA: 1s - loss: 0.0629 - accuracy: 0.5938
##  33/524 [>.............................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5852
##  50/524 [=>............................] - ETA: 1s - loss: 0.0611 - accuracy: 0.5906
##  67/524 [==>...........................] - ETA: 1s - loss: 0.0613 - accuracy: 0.5970
##  84/524 [===>..........................] - ETA: 1s - loss: 0.0619 - accuracy: 0.5874
## 102/524 [====>.........................] - ETA: 1s - loss: 0.0619 - accuracy: 0.5938
## 118/524 [=====>........................] - ETA: 1s - loss: 0.0619 - accuracy: 0.5916
## 135/524 [======>.......................] - ETA: 1s - loss: 0.0621 - accuracy: 0.5889
## 153/524 [=======>......................] - ETA: 1s - loss: 0.0617 - accuracy: 0.5893
## 170/524 [========>.....................] - ETA: 1s - loss: 0.0618 - accuracy: 0.5864
## 187/524 [=========>....................] - ETA: 1s - loss: 0.0619 - accuracy: 0.5876
## 205/524 [==========>...................] - ETA: 0s - loss: 0.0622 - accuracy: 0.5909
## 222/524 [===========>..................] - ETA: 0s - loss: 0.0621 - accuracy: 0.5885
## 238/524 [============>.................] - ETA: 0s - loss: 0.0621 - accuracy: 0.5876
## 256/524 [=============>................] - ETA: 0s - loss: 0.0622 - accuracy: 0.5852
## 272/524 [==============>...............] - ETA: 0s - loss: 0.0624 - accuracy: 0.5836
## 289/524 [===============>..............] - ETA: 0s - loss: 0.0623 - accuracy: 0.5835
## 306/524 [================>.............] - ETA: 0s - loss: 0.0623 - accuracy: 0.5852
## 323/524 [=================>............] - ETA: 0s - loss: 0.0624 - accuracy: 0.5839
## 340/524 [==================>...........] - ETA: 0s - loss: 0.0622 - accuracy: 0.5839
## 357/524 [===================>..........] - ETA: 0s - loss: 0.0621 - accuracy: 0.5847
## 374/524 [====================>.........] - ETA: 0s - loss: 0.0621 - accuracy: 0.5870
## 390/524 [=====================>........] - ETA: 0s - loss: 0.0622 - accuracy: 0.5861
## 407/524 [======================>.......] - ETA: 0s - loss: 0.0623 - accuracy: 0.5858
## 423/524 [=======================>......] - ETA: 0s - loss: 0.0623 - accuracy: 0.5853
## 440/524 [========================>.....] - ETA: 0s - loss: 0.0623 - accuracy: 0.5854
## 457/524 [=========================>....] - ETA: 0s - loss: 0.0624 - accuracy: 0.5838
## 474/524 [==========================>...] - ETA: 0s - loss: 0.0625 - accuracy: 0.5829
## 487/524 [==========================>...] - ETA: 0s - loss: 0.0625 - accuracy: 0.5823
## 503/524 [===========================>..] - ETA: 0s - loss: 0.0625 - accuracy: 0.5829
## 520/524 [============================>.] - ETA: 0s - loss: 0.0626 - accuracy: 0.5812
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0626 - accuracy: 0.5810 - val_loss: 0.0488 - val_accuracy: 0.9606
## Epoch 20/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0651 - accuracy: 0.4375
##  17/524 [..............................] - ETA: 1s - loss: 0.0652 - accuracy: 0.5202
##  34/524 [>.............................] - ETA: 1s - loss: 0.0640 - accuracy: 0.5221
##  51/524 [=>............................] - ETA: 1s - loss: 0.0635 - accuracy: 0.5380
##  68/524 [==>...........................] - ETA: 1s - loss: 0.0629 - accuracy: 0.5483
##  85/524 [===>..........................] - ETA: 1s - loss: 0.0623 - accuracy: 0.5574
## 103/524 [====>.........................] - ETA: 1s - loss: 0.0624 - accuracy: 0.5637
## 118/524 [=====>........................] - ETA: 1s - loss: 0.0626 - accuracy: 0.5654
## 135/524 [======>.......................] - ETA: 1s - loss: 0.0625 - accuracy: 0.5644
## 152/524 [=======>......................] - ETA: 1s - loss: 0.0623 - accuracy: 0.5637
## 169/524 [========>.....................] - ETA: 1s - loss: 0.0623 - accuracy: 0.5645
## 185/524 [=========>....................] - ETA: 1s - loss: 0.0621 - accuracy: 0.5672
## 202/524 [==========>...................] - ETA: 0s - loss: 0.0621 - accuracy: 0.5702
## 219/524 [===========>..................] - ETA: 0s - loss: 0.0621 - accuracy: 0.5719
## 236/524 [============>.................] - ETA: 0s - loss: 0.0624 - accuracy: 0.5699
## 252/524 [=============>................] - ETA: 0s - loss: 0.0626 - accuracy: 0.5692
## 269/524 [==============>...............] - ETA: 0s - loss: 0.0626 - accuracy: 0.5691
## 284/524 [===============>..............] - ETA: 0s - loss: 0.0627 - accuracy: 0.5686
## 300/524 [================>.............] - ETA: 0s - loss: 0.0628 - accuracy: 0.5660
## 317/524 [=================>............] - ETA: 0s - loss: 0.0629 - accuracy: 0.5672
## 333/524 [==================>...........] - ETA: 0s - loss: 0.0628 - accuracy: 0.5675
## 349/524 [==================>...........] - ETA: 0s - loss: 0.0627 - accuracy: 0.5677
## 367/524 [====================>.........] - ETA: 0s - loss: 0.0628 - accuracy: 0.5684
## 384/524 [====================>.........] - ETA: 0s - loss: 0.0628 - accuracy: 0.5683
## 401/524 [=====================>........] - ETA: 0s - loss: 0.0627 - accuracy: 0.5691
## 418/524 [======================>.......] - ETA: 0s - loss: 0.0627 - accuracy: 0.5692
## 435/524 [=======================>......] - ETA: 0s - loss: 0.0627 - accuracy: 0.5690
## 452/524 [========================>.....] - ETA: 0s - loss: 0.0626 - accuracy: 0.5691
## 468/524 [=========================>....] - ETA: 0s - loss: 0.0627 - accuracy: 0.5698
## 485/524 [==========================>...] - ETA: 0s - loss: 0.0627 - accuracy: 0.5701
## 503/524 [===========================>..] - ETA: 0s - loss: 0.0627 - accuracy: 0.5700
## 521/524 [============================>.] - ETA: 0s - loss: 0.0628 - accuracy: 0.5693
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0628 - accuracy: 0.5695 - val_loss: 0.0466 - val_accuracy: 0.9628
## Epoch 21/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0749 - accuracy: 0.3750
##  18/524 [>.............................] - ETA: 1s - loss: 0.0634 - accuracy: 0.5434
##  34/524 [>.............................] - ETA: 1s - loss: 0.0620 - accuracy: 0.5708
##  51/524 [=>............................] - ETA: 1s - loss: 0.0624 - accuracy: 0.5741
##  68/524 [==>...........................] - ETA: 1s - loss: 0.0614 - accuracy: 0.5786
##  83/524 [===>..........................] - ETA: 1s - loss: 0.0611 - accuracy: 0.5904
## 100/524 [====>.........................] - ETA: 1s - loss: 0.0612 - accuracy: 0.5853
## 115/524 [=====>........................] - ETA: 1s - loss: 0.0612 - accuracy: 0.5826
## 129/524 [======>.......................] - ETA: 1s - loss: 0.0611 - accuracy: 0.5845
## 146/524 [=======>......................] - ETA: 1s - loss: 0.0611 - accuracy: 0.5848
## 162/524 [========>.....................] - ETA: 1s - loss: 0.0614 - accuracy: 0.5851
## 179/524 [=========>....................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5843
## 196/524 [==========>...................] - ETA: 1s - loss: 0.0619 - accuracy: 0.5821
## 213/524 [===========>..................] - ETA: 0s - loss: 0.0617 - accuracy: 0.5832
## 230/524 [============>.................] - ETA: 0s - loss: 0.0618 - accuracy: 0.5832
## 247/524 [=============>................] - ETA: 0s - loss: 0.0616 - accuracy: 0.5824
## 263/524 [==============>...............] - ETA: 0s - loss: 0.0617 - accuracy: 0.5831
## 280/524 [===============>..............] - ETA: 0s - loss: 0.0616 - accuracy: 0.5826
## 297/524 [================>.............] - ETA: 0s - loss: 0.0617 - accuracy: 0.5843
## 314/524 [================>.............] - ETA: 0s - loss: 0.0616 - accuracy: 0.5867
## 331/524 [=================>............] - ETA: 0s - loss: 0.0615 - accuracy: 0.5866
## 348/524 [==================>...........] - ETA: 0s - loss: 0.0614 - accuracy: 0.5880
## 366/524 [===================>..........] - ETA: 0s - loss: 0.0614 - accuracy: 0.5886
## 382/524 [====================>.........] - ETA: 0s - loss: 0.0616 - accuracy: 0.5892
## 399/524 [=====================>........] - ETA: 0s - loss: 0.0616 - accuracy: 0.5874
## 416/524 [======================>.......] - ETA: 0s - loss: 0.0616 - accuracy: 0.5871
## 433/524 [=======================>......] - ETA: 0s - loss: 0.0617 - accuracy: 0.5867
## 450/524 [========================>.....] - ETA: 0s - loss: 0.0617 - accuracy: 0.5875
## 465/524 [=========================>....] - ETA: 0s - loss: 0.0618 - accuracy: 0.5869
## 482/524 [==========================>...] - ETA: 0s - loss: 0.0618 - accuracy: 0.5863
## 499/524 [===========================>..] - ETA: 0s - loss: 0.0619 - accuracy: 0.5863
## 516/524 [============================>.] - ETA: 0s - loss: 0.0618 - accuracy: 0.5869
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0618 - accuracy: 0.5866 - val_loss: 0.0498 - val_accuracy: 0.9416
## Epoch 22/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0698 - accuracy: 0.5312
##  17/524 [..............................] - ETA: 1s - loss: 0.0654 - accuracy: 0.5625
##  34/524 [>.............................] - ETA: 1s - loss: 0.0639 - accuracy: 0.5643
##  49/524 [=>............................] - ETA: 1s - loss: 0.0629 - accuracy: 0.5657
##  66/524 [==>...........................] - ETA: 1s - loss: 0.0623 - accuracy: 0.5720
##  83/524 [===>..........................] - ETA: 1s - loss: 0.0618 - accuracy: 0.5761
## 100/524 [====>.........................] - ETA: 1s - loss: 0.0615 - accuracy: 0.5834
## 117/524 [=====>........................] - ETA: 1s - loss: 0.0613 - accuracy: 0.5889
## 134/524 [======>.......................] - ETA: 1s - loss: 0.0613 - accuracy: 0.5905
## 151/524 [=======>......................] - ETA: 1s - loss: 0.0615 - accuracy: 0.5849
## 168/524 [========>.....................] - ETA: 1s - loss: 0.0618 - accuracy: 0.5830
## 185/524 [=========>....................] - ETA: 1s - loss: 0.0619 - accuracy: 0.5821
## 201/524 [==========>...................] - ETA: 1s - loss: 0.0620 - accuracy: 0.5798
## 219/524 [===========>..................] - ETA: 0s - loss: 0.0620 - accuracy: 0.5832
## 235/524 [============>.................] - ETA: 0s - loss: 0.0620 - accuracy: 0.5823
## 252/524 [=============>................] - ETA: 0s - loss: 0.0619 - accuracy: 0.5828
## 269/524 [==============>...............] - ETA: 0s - loss: 0.0619 - accuracy: 0.5817
## 286/524 [===============>..............] - ETA: 0s - loss: 0.0620 - accuracy: 0.5817
## 302/524 [================>.............] - ETA: 0s - loss: 0.0620 - accuracy: 0.5816
## 319/524 [=================>............] - ETA: 0s - loss: 0.0620 - accuracy: 0.5821
## 336/524 [==================>...........] - ETA: 0s - loss: 0.0620 - accuracy: 0.5812
## 352/524 [===================>..........] - ETA: 0s - loss: 0.0619 - accuracy: 0.5829
## 368/524 [====================>.........] - ETA: 0s - loss: 0.0619 - accuracy: 0.5830
## 386/524 [=====================>........] - ETA: 0s - loss: 0.0620 - accuracy: 0.5840
## 403/524 [======================>.......] - ETA: 0s - loss: 0.0619 - accuracy: 0.5827
## 420/524 [=======================>......] - ETA: 0s - loss: 0.0619 - accuracy: 0.5834
## 437/524 [========================>.....] - ETA: 0s - loss: 0.0621 - accuracy: 0.5825
## 454/524 [========================>.....] - ETA: 0s - loss: 0.0620 - accuracy: 0.5830
## 471/524 [=========================>....] - ETA: 0s - loss: 0.0620 - accuracy: 0.5833
## 488/524 [==========================>...] - ETA: 0s - loss: 0.0621 - accuracy: 0.5832
## 505/524 [===========================>..] - ETA: 0s - loss: 0.0621 - accuracy: 0.5828
## 521/524 [============================>.] - ETA: 0s - loss: 0.0620 - accuracy: 0.5833
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0620 - accuracy: 0.5831 - val_loss: 0.0509 - val_accuracy: 0.9439
## Epoch 23/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0501 - accuracy: 0.7812
##  18/524 [>.............................] - ETA: 1s - loss: 0.0628 - accuracy: 0.6094
##  34/524 [>.............................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5974
##  49/524 [=>............................] - ETA: 1s - loss: 0.0619 - accuracy: 0.5963
##  66/524 [==>...........................] - ETA: 1s - loss: 0.0614 - accuracy: 0.5876
##  82/524 [===>..........................] - ETA: 1s - loss: 0.0620 - accuracy: 0.5911
##  99/524 [====>.........................] - ETA: 1s - loss: 0.0618 - accuracy: 0.5884
## 116/524 [=====>........................] - ETA: 1s - loss: 0.0617 - accuracy: 0.5897
## 131/524 [======>.......................] - ETA: 1s - loss: 0.0618 - accuracy: 0.5883
## 148/524 [=======>......................] - ETA: 1s - loss: 0.0615 - accuracy: 0.5904
## 166/524 [========>.....................] - ETA: 1s - loss: 0.0619 - accuracy: 0.5887
## 183/524 [=========>....................] - ETA: 1s - loss: 0.0619 - accuracy: 0.5883
## 199/524 [==========>...................] - ETA: 1s - loss: 0.0618 - accuracy: 0.5851
## 216/524 [===========>..................] - ETA: 0s - loss: 0.0615 - accuracy: 0.5897
## 233/524 [============>.................] - ETA: 0s - loss: 0.0616 - accuracy: 0.5927
## 250/524 [=============>................] - ETA: 0s - loss: 0.0616 - accuracy: 0.5915
## 267/524 [==============>...............] - ETA: 0s - loss: 0.0617 - accuracy: 0.5919
## 283/524 [===============>..............] - ETA: 0s - loss: 0.0616 - accuracy: 0.5913
## 300/524 [================>.............] - ETA: 0s - loss: 0.0617 - accuracy: 0.5901
## 315/524 [=================>............] - ETA: 0s - loss: 0.0616 - accuracy: 0.5886
## 332/524 [==================>...........] - ETA: 0s - loss: 0.0617 - accuracy: 0.5894
## 348/524 [==================>...........] - ETA: 0s - loss: 0.0617 - accuracy: 0.5897
## 365/524 [===================>..........] - ETA: 0s - loss: 0.0618 - accuracy: 0.5877
## 382/524 [====================>.........] - ETA: 0s - loss: 0.0619 - accuracy: 0.5865
## 399/524 [=====================>........] - ETA: 0s - loss: 0.0620 - accuracy: 0.5859
## 416/524 [======================>.......] - ETA: 0s - loss: 0.0620 - accuracy: 0.5860
## 431/524 [=======================>......] - ETA: 0s - loss: 0.0619 - accuracy: 0.5854
## 449/524 [========================>.....] - ETA: 0s - loss: 0.0618 - accuracy: 0.5866
## 464/524 [=========================>....] - ETA: 0s - loss: 0.0618 - accuracy: 0.5873
## 481/524 [==========================>...] - ETA: 0s - loss: 0.0619 - accuracy: 0.5878
## 498/524 [===========================>..] - ETA: 0s - loss: 0.0618 - accuracy: 0.5881
## 515/524 [============================>.] - ETA: 0s - loss: 0.0617 - accuracy: 0.5876
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0617 - accuracy: 0.5876 - val_loss: 0.0485 - val_accuracy: 0.9413
## Epoch 24/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0567 - accuracy: 0.7500
##  17/524 [..............................] - ETA: 1s - loss: 0.0588 - accuracy: 0.6195
##  34/524 [>.............................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6103
##  51/524 [=>............................] - ETA: 1s - loss: 0.0603 - accuracy: 0.6097
##  68/524 [==>...........................] - ETA: 1s - loss: 0.0608 - accuracy: 0.6029
##  85/524 [===>..........................] - ETA: 1s - loss: 0.0612 - accuracy: 0.5996
## 103/524 [====>.........................] - ETA: 1s - loss: 0.0612 - accuracy: 0.6007
## 119/524 [=====>........................] - ETA: 1s - loss: 0.0617 - accuracy: 0.5987
## 137/524 [======>.......................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5960
## 154/524 [=======>......................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5927
## 171/524 [========>.....................] - ETA: 1s - loss: 0.0617 - accuracy: 0.5934
## 187/524 [=========>....................] - ETA: 1s - loss: 0.0617 - accuracy: 0.5891
## 202/524 [==========>...................] - ETA: 0s - loss: 0.0616 - accuracy: 0.5894
## 219/524 [===========>..................] - ETA: 0s - loss: 0.0616 - accuracy: 0.5928
## 236/524 [============>.................] - ETA: 0s - loss: 0.0616 - accuracy: 0.5896
## 253/524 [=============>................] - ETA: 0s - loss: 0.0615 - accuracy: 0.5920
## 269/524 [==============>...............] - ETA: 0s - loss: 0.0615 - accuracy: 0.5907
## 285/524 [===============>..............] - ETA: 0s - loss: 0.0615 - accuracy: 0.5888
## 302/524 [================>.............] - ETA: 0s - loss: 0.0615 - accuracy: 0.5887
## 318/524 [=================>............] - ETA: 0s - loss: 0.0616 - accuracy: 0.5864
## 335/524 [==================>...........] - ETA: 0s - loss: 0.0617 - accuracy: 0.5865
## 351/524 [===================>..........] - ETA: 0s - loss: 0.0617 - accuracy: 0.5875
## 368/524 [====================>.........] - ETA: 0s - loss: 0.0618 - accuracy: 0.5883
## 386/524 [=====================>........] - ETA: 0s - loss: 0.0617 - accuracy: 0.5880
## 403/524 [======================>.......] - ETA: 0s - loss: 0.0617 - accuracy: 0.5891
## 420/524 [=======================>......] - ETA: 0s - loss: 0.0618 - accuracy: 0.5897
## 437/524 [========================>.....] - ETA: 0s - loss: 0.0618 - accuracy: 0.5893
## 454/524 [========================>.....] - ETA: 0s - loss: 0.0618 - accuracy: 0.5885
## 471/524 [=========================>....] - ETA: 0s - loss: 0.0617 - accuracy: 0.5897
## 488/524 [==========================>...] - ETA: 0s - loss: 0.0616 - accuracy: 0.5900
## 503/524 [===========================>..] - ETA: 0s - loss: 0.0616 - accuracy: 0.5906
## 519/524 [============================>.] - ETA: 0s - loss: 0.0617 - accuracy: 0.5908
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0616 - accuracy: 0.5907 - val_loss: 0.0498 - val_accuracy: 0.9349
## Epoch 25/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0602 - accuracy: 0.7188
##  18/524 [>.............................] - ETA: 1s - loss: 0.0618 - accuracy: 0.5938
##  36/524 [=>............................] - ETA: 1s - loss: 0.0634 - accuracy: 0.5885
##  52/524 [=>............................] - ETA: 1s - loss: 0.0631 - accuracy: 0.5823
##  70/524 [===>..........................] - ETA: 1s - loss: 0.0625 - accuracy: 0.5835
##  83/524 [===>..........................] - ETA: 1s - loss: 0.0623 - accuracy: 0.5862
## 100/524 [====>.........................] - ETA: 1s - loss: 0.0619 - accuracy: 0.5844
## 117/524 [=====>........................] - ETA: 1s - loss: 0.0617 - accuracy: 0.5900
## 134/524 [======>.......................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5912
## 151/524 [=======>......................] - ETA: 1s - loss: 0.0615 - accuracy: 0.5929
## 167/524 [========>.....................] - ETA: 1s - loss: 0.0618 - accuracy: 0.5923
## 185/524 [=========>....................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5924
## 203/524 [==========>...................] - ETA: 1s - loss: 0.0615 - accuracy: 0.5921
## 220/524 [===========>..................] - ETA: 0s - loss: 0.0614 - accuracy: 0.5922
## 238/524 [============>.................] - ETA: 0s - loss: 0.0612 - accuracy: 0.5911
## 254/524 [=============>................] - ETA: 0s - loss: 0.0611 - accuracy: 0.5920
## 271/524 [==============>...............] - ETA: 0s - loss: 0.0609 - accuracy: 0.5955
## 287/524 [===============>..............] - ETA: 0s - loss: 0.0610 - accuracy: 0.5957
## 304/524 [================>.............] - ETA: 0s - loss: 0.0611 - accuracy: 0.5969
## 321/524 [=================>............] - ETA: 0s - loss: 0.0612 - accuracy: 0.5964
## 338/524 [==================>...........] - ETA: 0s - loss: 0.0611 - accuracy: 0.5995
## 354/524 [===================>..........] - ETA: 0s - loss: 0.0612 - accuracy: 0.5995
## 371/524 [====================>.........] - ETA: 0s - loss: 0.0611 - accuracy: 0.5968
## 387/524 [=====================>........] - ETA: 0s - loss: 0.0612 - accuracy: 0.5952
## 405/524 [======================>.......] - ETA: 0s - loss: 0.0611 - accuracy: 0.5975
## 422/524 [=======================>......] - ETA: 0s - loss: 0.0611 - accuracy: 0.5973
## 437/524 [========================>.....] - ETA: 0s - loss: 0.0611 - accuracy: 0.5974
## 454/524 [========================>.....] - ETA: 0s - loss: 0.0612 - accuracy: 0.5972
## 472/524 [==========================>...] - ETA: 0s - loss: 0.0612 - accuracy: 0.5976
## 489/524 [==========================>...] - ETA: 0s - loss: 0.0612 - accuracy: 0.5977
## 506/524 [===========================>..] - ETA: 0s - loss: 0.0611 - accuracy: 0.5965
## 523/524 [============================>.] - ETA: 0s - loss: 0.0611 - accuracy: 0.5975
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0611 - accuracy: 0.5974 - val_loss: 0.0519 - val_accuracy: 0.9294
## Epoch 26/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0514 - accuracy: 0.6250
##  17/524 [..............................] - ETA: 1s - loss: 0.0603 - accuracy: 0.6287
##  34/524 [>.............................] - ETA: 1s - loss: 0.0594 - accuracy: 0.6222
##  51/524 [=>............................] - ETA: 1s - loss: 0.0598 - accuracy: 0.6183
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0595 - accuracy: 0.6191
##  84/524 [===>..........................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6202
## 101/524 [====>.........................] - ETA: 1s - loss: 0.0594 - accuracy: 0.6216
## 117/524 [=====>........................] - ETA: 1s - loss: 0.0593 - accuracy: 0.6215
## 135/524 [======>.......................] - ETA: 1s - loss: 0.0599 - accuracy: 0.6192
## 152/524 [=======>......................] - ETA: 1s - loss: 0.0600 - accuracy: 0.6151
## 167/524 [========>.....................] - ETA: 1s - loss: 0.0598 - accuracy: 0.6162
## 184/524 [=========>....................] - ETA: 1s - loss: 0.0598 - accuracy: 0.6155
## 200/524 [==========>...................] - ETA: 1s - loss: 0.0599 - accuracy: 0.6142
## 217/524 [===========>..................] - ETA: 0s - loss: 0.0597 - accuracy: 0.6156
## 234/524 [============>.................] - ETA: 0s - loss: 0.0599 - accuracy: 0.6146
## 252/524 [=============>................] - ETA: 0s - loss: 0.0598 - accuracy: 0.6143
## 269/524 [==============>...............] - ETA: 0s - loss: 0.0600 - accuracy: 0.6151
## 286/524 [===============>..............] - ETA: 0s - loss: 0.0601 - accuracy: 0.6144
## 304/524 [================>.............] - ETA: 0s - loss: 0.0602 - accuracy: 0.6146
## 320/524 [=================>............] - ETA: 0s - loss: 0.0602 - accuracy: 0.6146
## 337/524 [==================>...........] - ETA: 0s - loss: 0.0601 - accuracy: 0.6122
## 353/524 [===================>..........] - ETA: 0s - loss: 0.0602 - accuracy: 0.6115
## 370/524 [====================>.........] - ETA: 0s - loss: 0.0604 - accuracy: 0.6125
## 387/524 [=====================>........] - ETA: 0s - loss: 0.0605 - accuracy: 0.6106
## 405/524 [======================>.......] - ETA: 0s - loss: 0.0606 - accuracy: 0.6086
## 422/524 [=======================>......] - ETA: 0s - loss: 0.0606 - accuracy: 0.6084
## 439/524 [========================>.....] - ETA: 0s - loss: 0.0607 - accuracy: 0.6061
## 456/524 [=========================>....] - ETA: 0s - loss: 0.0607 - accuracy: 0.6071
## 472/524 [==========================>...] - ETA: 0s - loss: 0.0608 - accuracy: 0.6067
## 489/524 [==========================>...] - ETA: 0s - loss: 0.0607 - accuracy: 0.6059
## 506/524 [===========================>..] - ETA: 0s - loss: 0.0608 - accuracy: 0.6044
## 523/524 [============================>.] - ETA: 0s - loss: 0.0608 - accuracy: 0.6044
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0608 - accuracy: 0.6044 - val_loss: 0.0525 - val_accuracy: 0.9203
## Epoch 27/60
## 
##   1/524 [..............................] - ETA: 1s - loss: 0.0669 - accuracy: 0.5000
##  17/524 [..............................] - ETA: 1s - loss: 0.0597 - accuracy: 0.6324
##  34/524 [>.............................] - ETA: 1s - loss: 0.0615 - accuracy: 0.6057
##  52/524 [=>............................] - ETA: 1s - loss: 0.0609 - accuracy: 0.6172
##  69/524 [==>...........................] - ETA: 1s - loss: 0.0616 - accuracy: 0.6024
##  86/524 [===>..........................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5988
## 103/524 [====>.........................] - ETA: 1s - loss: 0.0621 - accuracy: 0.5895
## 120/524 [=====>........................] - ETA: 1s - loss: 0.0622 - accuracy: 0.5917
## 137/524 [======>.......................] - ETA: 1s - loss: 0.0617 - accuracy: 0.5988
## 153/524 [=======>......................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5978
## 170/524 [========>.....................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5983
## 188/524 [=========>....................] - ETA: 1s - loss: 0.0616 - accuracy: 0.5994
## 205/524 [==========>...................] - ETA: 0s - loss: 0.0614 - accuracy: 0.5991
## 222/524 [===========>..................] - ETA: 0s - loss: 0.0615 - accuracy: 0.5997
## 240/524 [============>.................] - ETA: 0s - loss: 0.0615 - accuracy: 0.5996
## 256/524 [=============>................] - ETA: 0s - loss: 0.0615 - accuracy: 0.5992
## 274/524 [==============>...............] - ETA: 0s - loss: 0.0613 - accuracy: 0.6003
## 290/524 [===============>..............] - ETA: 0s - loss: 0.0614 - accuracy: 0.5996
## 308/524 [================>.............] - ETA: 0s - loss: 0.0611 - accuracy: 0.6027
## 325/524 [=================>............] - ETA: 0s - loss: 0.0611 - accuracy: 0.6044
## 342/524 [==================>...........] - ETA: 0s - loss: 0.0610 - accuracy: 0.6044
## 359/524 [===================>..........] - ETA: 0s - loss: 0.0609 - accuracy: 0.6058
## 377/524 [====================>.........] - ETA: 0s - loss: 0.0609 - accuracy: 0.6068
## 394/524 [=====================>........] - ETA: 0s - loss: 0.0610 - accuracy: 0.6065
## 410/524 [======================>.......] - ETA: 0s - loss: 0.0610 - accuracy: 0.6061
## 427/524 [=======================>......] - ETA: 0s - loss: 0.0612 - accuracy: 0.6036
## 443/524 [========================>.....] - ETA: 0s - loss: 0.0613 - accuracy: 0.6025
## 460/524 [=========================>....] - ETA: 0s - loss: 0.0613 - accuracy: 0.6018
## 478/524 [==========================>...] - ETA: 0s - loss: 0.0613 - accuracy: 0.5997
## 493/524 [===========================>..] - ETA: 0s - loss: 0.0613 - accuracy: 0.5992
## 510/524 [============================>.] - ETA: 0s - loss: 0.0614 - accuracy: 0.5998
## 524/524 [==============================] - 2s 4ms/step - loss: 0.0613 - accuracy: 0.5995 - val_loss: 0.0481 - val_accuracy: 0.9370
# Predict
pred_probs_nn4 <- model4 %>% predict(test_x)
## 55/55 - 0s - 178ms/epoch - 3ms/step
pred_classes_nn4 <- ifelse(pred_probs_nn4 > 0.5, "yes", "no")

# Evaluate
confusion_matrix_nn4<-confusionMatrix(
  factor(pred_classes_nn4, levels = c("no", "yes")),
  factor(ifelse(test_y == 1, "yes", "no"), levels = c("no", "yes"))
)

print(confusion_matrix_nn4)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  no yes
##        no  693 605
##        yes 180 274
##                                           
##                Accuracy : 0.5519          
##                  95% CI : (0.5283, 0.5754)
##     No Information Rate : 0.5017          
##     P-Value [Acc > NIR] : 1.428e-05       
##                                           
##                   Kappa : 0.1054          
##                                           
##  Mcnemar's Test P-Value : < 2.2e-16       
##                                           
##             Sensitivity : 0.7938          
##             Specificity : 0.3117          
##          Pos Pred Value : 0.5339          
##          Neg Pred Value : 0.6035          
##              Prevalence : 0.4983          
##          Detection Rate : 0.3955          
##    Detection Prevalence : 0.7409          
##       Balanced Accuracy : 0.5528          
##                                           
##        'Positive' Class : no              
## 
accuracy_nn4 <- confusion_matrix_nn4$overall['Accuracy']
precision_nn4 <- confusion_matrix_nn4$byClass['Pos Pred Value']
recall_nn4 <- confusion_matrix_nn4$byClass['Sensitivity']
f1_nn4 <- confusion_matrix_nn4$byClass['F1']

metrics_nns <- rbind(metrics_nns, data.frame(
  Model = "NN +BatchNorm + dropout",
  Accuracy = as.numeric(accuracy_nn4),
  Precision = as.numeric(precision_nn4),
  Recall = as.numeric(recall_nn4),
  F1 = as.numeric(f1_nn4)
))
roc1 <- roc(test_y, pred_probs_nn1)
roc2 <- roc(test_y, pred_probs_nn2)
roc3 <- roc(test_y, pred_probs_nn3)
roc4 <- roc(test_y, pred_probs_nn4)

plot(roc1, col = "blue", legacy.axes = TRUE, main = "ROC Curve - NN Models")
lines(roc2, col = "green")
lines(roc3, col = "red")
lines(roc4, col = "orange")
legend("bottomright", legend = c("Model 1", "Model 2", "Model 3","Model 4"),
       col = c("blue", "green", "red","orange"), lwd = 2)

## Metrics table 
kable(metrics_nns, caption = "Neural Network Model Performance Metrics", digits = 2)
Neural Network Model Performance Metrics
Model Accuracy Precision Recall F1
NN Base Model 0.50 0.51 0.02 0.04
NN scale+balance 0.60 0.58 0.71 0.63
NN +early stopping 0.54 0.53 0.78 0.63
NN +BatchNorm + dropout 0.55 0.53 0.79 0.64
# Metrics Combined
metrics_combined <- bind_rows(metrics_rfs, metrics_nns)

metrics_combined <- metrics_combined %>% select(Model, everything())

# Create one kable table
kable(metrics_combined, caption = "Model Performance Metrics Comparison", digits = 2)
Model Performance Metrics Comparison
Model Accuracy Precision Recall F1
RF Base Model 0.66 0.66 0.65 0.66
RF mtry=2 0.69 0.70 0.67 0.69
RF mtry=4 0.65 0.65 0.64 0.64
Random Forest mtry=2 & ntree=1000 0.70 0.70 0.69 0.70
NN Base Model 0.50 0.51 0.02 0.04
NN scale+balance 0.60 0.58 0.71 0.63
NN +early stopping 0.54 0.53 0.78 0.63
NN +BatchNorm + dropout 0.55 0.53 0.79 0.64