Dataset: heart_disease (classification)
Penalty: 0.1
Seed: 42
Best fitness: -0.6287408035596773
Final val loss: 0.63733974
Final penalty: 0.03258929
Model saved to: exp_1/logs/classification/heart_disease/INDIVIDUAL_MUTATION_PROB/INDIVIDUAL_MUTATION_PROB=0.2/models/best_model_penalty_0.1_seed_42.pth

Final architecture & hyperparameters:
  num_layers: 4
  layer_sizes: [12, 17, 29, 19]
  activations: [2, 1, 1, 2]
  dropout_rates: [0.039, 0.468, 0.477, 0.328]
  batch_norms: [0, 1, 1, 1]
  learning_rate: 0.0229
  batch_size: 32
  patience: 14
  optimizer_type: 2
  init_type: 0
  l2_penalty: 0.0

Validation metrics (final):
  accuracy: 57.77777777777777
  precision: 23.761904761904763
  recall: 28.333333333333332
  f1_score: 25.213675213675213
  confusion_matrix: [[23, 1, 0, 0, 0], [3, 1, 4, 0, 0], [2, 2, 2, 0, 0], [0, 1, 4, 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.24302134646962
  recall: 36.62222222222222
  f1_score: 28.79142300194932
  confusion_matrix: [[23, 1, 1, 0, 0], [6, 1, 2, 0, 0], [0, 1, 4, 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}
