Dataset: heart_disease (classification)
Penalty: 0.1
Seed: 42
Best fitness: -0.6425480778993499
Final val loss: 0.66855053
Final penalty: 0.01057842
Model saved to: exp_1/logs/classification/heart_disease/ATTRIBUTE_MUTATION_PROB/ATTRIBUTE_MUTATION_PROB=0.4/models/best_model_penalty_0.1_seed_42.pth

Final architecture & hyperparameters:
  num_layers: 4
  layer_sizes: [8, 15, 7, 8]
  activations: [4, 3, 2, 4]
  dropout_rates: [0.14, 0.179, 0.429, 0.14]
  batch_norms: [1, 1, 0, 1]
  learning_rate: 0.0275
  batch_size: 16
  patience: 12
  optimizer_type: 2
  init_type: 1
  l2_penalty: 0.0

Validation metrics (final):
  accuracy: 60.0
  precision: 20.551724137931036
  recall: 30.0
  f1_score: 23.82749326145553
  confusion_matrix: [[24, 0, 0, 0, 0], [3, 0, 5, 0, 0], [2, 1, 3, 0, 0], [0, 0, 5, 0, 0], [0, 0, 2, 0, 0]]
  num_classes: 5
  class_distribution: {0: 24, 1: 8, 2: 6, 3: 5, 4: 2}

Test metrics (final):
  accuracy: 65.21739130434783
  precision: 42.666666666666664
  recall: 41.422222222222224
  f1_score: 31.454545454545457
  confusion_matrix: [[24, 0, 1, 0, 0], [6, 1, 2, 0, 0], [0, 0, 5, 0, 0], [0, 0, 5, 0, 0], [0, 0, 2, 0, 0]]
  num_classes: 5
  class_distribution: {0: 25, 1: 9, 2: 5, 3: 5, 4: 2}
