{
  "description": "Grid search hyperparameter spaces and selected optimal parameters for the five machine learning models. Hyperparameter tuning was performed via exhaustive grid search with five-fold stratified cross-validation on the training set (n = 6,516), using AUC-ROC as the optimization criterion. SMOTE oversampling was applied within the training set only, after the train-test split.",
  "cv_strategy": "StratifiedKFold(n_splits=5, shuffle=True, random_state=42)",
  "scoring_metric": "roc_auc",
  "Logistic Regression": {
    "search_space": {
      "C": [0.01, 0.1, 1, 10],
      "penalty": ["l2"],
      "solver": ["lbfgs"]
    },
    "optimal_parameters": {
      "C": 0.1,
      "penalty": "l2",
      "solver": "lbfgs"
    }
  },
  "Random Forest": {
    "search_space": {
      "n_estimators": [100, 200, 300],
      "max_depth": [10, 15, 20],
      "min_samples_split": [2, 5]
    },
    "optimal_parameters": {
      "n_estimators": 300,
      "max_depth": 20,
      "min_samples_split": 2
    }
  },
  "Support Vector Machine": {
    "search_space": {
      "C": [0.1, 1, 10],
      "kernel": ["rbf"],
      "gamma": ["scale", "auto"]
    },
    "optimal_parameters": {
      "C": 10,
      "kernel": "rbf",
      "gamma": "scale"
    }
  },
  "Gradient Boosting": {
    "search_space": {
      "n_estimators": [100, 200, 300],
      "max_depth": [3, 5, 7],
      "learning_rate": [0.05, 0.1, 0.2]
    },
    "optimal_parameters": {
      "n_estimators": 300,
      "max_depth": 7,
      "learning_rate": 0.2
    }
  },
  "XGBoost": {
    "search_space": {
      "n_estimators": [100, 200, 300],
      "max_depth": [3, 5, 7],
      "learning_rate": [0.05, 0.1, 0.2]
    },
    "optimal_parameters": {
      "n_estimators": 300,
      "max_depth": 7,
      "learning_rate": 0.2
    }
  },
  "software_versions": {
    "Python": "3.8.20",
    "scikit-learn": "1.3.2",
    "XGBoost": "2.1.4",
    "imbalanced-learn": "0.12.4"
  }
}
