Dataset: iris (classification)
Penalty: 0.1
Seed: 42
Best fitness: -0.11642447155117593
Final val loss: 0.21888584
Final penalty: 0.05964912
Model saved to: exp_1/logs/classification/iris/LAYER_MUTATION_PROB/LAYER_MUTATION_PROB=0.4/models/best_model_penalty_0.1_seed_42.pth

Final architecture & hyperparameters:
  num_layers: 3
  layer_sizes: [4, 5, 4]
  activations: [3, 2, 3]
  dropout_rates: [0.051, 0.157, 0.164]
  batch_norms: [0, 0, 1]
  learning_rate: 0.0223
  batch_size: 16
  patience: 30
  optimizer_type: 2
  init_type: 0
  l2_penalty: 0.002

Validation metrics (final):
  accuracy: 90.9090909090909
  precision: 90.47619047619048
  recall: 90.47619047619048
  f1_score: 90.47619047619048
  confusion_matrix: [[8, 0, 0], [0, 6, 1], [0, 1, 6]]
  num_classes: 3
  class_distribution: {0: 8, 1: 7, 2: 7}

Test metrics (final):
  accuracy: 95.65217391304348
  precision: 96.29629629629629
  recall: 95.83333333333334
  f1_score: 95.81699346405229
  confusion_matrix: [[7, 0, 0], [0, 8, 0], [0, 1, 7]]
  num_classes: 3
  class_distribution: {0: 7, 1: 8, 2: 8}
