Dataset: heart_disease (classification)
Penalty: 0.1
Seed: 3
Best fitness: -0.8603616185731487
Final val loss: 0.92137658
Final penalty: 0.09456559
Model saved to: logs/classification/heart_disease/models/best_model_penalty_0.1_seed_3.pth

Final architecture & hyperparameters:
  num_layers: 5
  layer_sizes: [12, 13, 25, 32, 16]
  activations: [4, 1, 1, 2, 3]
  dropout_rates: [0.088, 0.427, 0.384, 0.469, 0.215]
  batch_norms: [0, 0, 1, 1, 1]
  learning_rate: 0.0107
  batch_size: 16
  patience: 13
  optimizer_type: 2
  init_type: 0
  l2_penalty: 0.0005

Validation metrics (final):
  accuracy: 53.333333333333336
  precision: 17.232142857142858
  recall: 22.5
  f1_score: 19.505494505494507
  confusion_matrix: [[23, 1, 0, 0, 0], [7, 0, 1, 0, 0], [2, 3, 1, 0, 0], [0, 2, 3, 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: 60.86956521739131
  precision: 28.86206896551724
  recall: 34.84444444444444
  f1_score: 29.810146280734518
  confusion_matrix: [[23, 1, 1, 0, 0], [4, 2, 3, 0, 0], [1, 1, 3, 0, 0], [1, 1, 3, 0, 0], [0, 0, 2, 0, 0]]
  num_classes: 5
  class_distribution: {0: 25, 1: 9, 2: 5, 3: 5, 4: 2}
