Dataset: heart_disease (classification)
Penalty: 0.1
Seed: 42
Best fitness: -0.5998803262254758
Final val loss: 0.64272076
Final penalty: 0.02148680
Model saved to: exp_1/logs/classification/heart_disease/LAYER_MUTATION_PROB/LAYER_MUTATION_PROB=0.3/models/best_model_penalty_0.1_seed_42.pth

Final architecture & hyperparameters:
  num_layers: 5
  layer_sizes: [6, 32, 11, 20, 7]
  activations: [4, 3, 2, 2, 2]
  dropout_rates: [0.116, 0.29, 0.322, 0.379, 0.044]
  batch_norms: [1, 1, 0, 1, 1]
  learning_rate: 0.0229
  batch_size: 64
  patience: 21
  optimizer_type: 2
  init_type: 0
  l2_penalty: 0.0

Validation metrics (final):
  accuracy: 66.66666666666666
  precision: 49.542857142857144
  recall: 45.0
  f1_score: 38.0930347847641
  confusion_matrix: [[23, 1, 0, 0, 0], [2, 1, 0, 5, 0], [0, 3, 1, 2, 0], [0, 0, 0, 5, 0], [0, 0, 0, 2, 0]]
  num_classes: 5
  class_distribution: {0: 24, 1: 8, 2: 6, 3: 5, 4: 2}

Test metrics (final):
  accuracy: 63.04347826086957
  precision: 22.25
  recall: 39.2
  f1_score: 26.97835497835498
  confusion_matrix: [[24, 0, 0, 1, 0], [6, 0, 0, 3, 0], [0, 0, 0, 5, 0], [0, 0, 0, 5, 0], [0, 0, 0, 2, 0]]
  num_classes: 5
  class_distribution: {0: 25, 1: 9, 2: 5, 3: 5, 4: 2}
