Dataset: iris (classification)
Penalty: 0.1
Seed: 42
Best fitness: -0.19323154674113385
Final val loss: 0.27403158
Final penalty: 0.03859649
Model saved to: exp_1/logs/classification/iris/LAYER_SIZE_MUTATION_PROB/LAYER_SIZE_MUTATION_PROB=0.2/models/best_model_penalty_0.1_seed_42.pth

Final architecture & hyperparameters:
  num_layers: 3
  layer_sizes: [4, 1, 6]
  activations: [4, 4, 4]
  dropout_rates: [0.164, 0.256, 0.332]
  batch_norms: [1, 1, 1]
  learning_rate: 0.0223
  batch_size: 16
  patience: 17
  optimizer_type: 2
  init_type: 3
  l2_penalty: 0.0

Validation metrics (final):
  accuracy: 86.36363636363636
  precision: 90.0
  recall: 85.71428571428571
  f1_score: 85.02673796791443
  confusion_matrix: [[8, 0, 0], [0, 4, 3], [0, 0, 7]]
  num_classes: 3
  class_distribution: {0: 8, 1: 7, 2: 7}

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