""" src.config – Centralised application settings. """ from typing import List APP_TITLE = "AutoML Studio" APP_ICON = "🤖" LAYOUT = "wide" TEST_SIZE = 0.20 RANDOM_STATE = 42 CV_FOLDS = 5 OPTUNA_TRIALS = 10 N_JOBS = -1 SCORING_METRIC_CLF = "accuracy" SCORING_METRIC_REG = "r2" SCORING_METRIC = SCORING_METRIC_CLF def _detect_gpu() -> bool: try: import xgboost as xgb import numpy as _np bst = xgb.XGBClassifier(device="cuda", n_estimators=1, verbosity=0) bst.fit(_np.array([[1, 2]]), _np.array([0])) return True except Exception: return False USE_GPU = _detect_gpu() XGBOOST_DEVICE = "cuda" if USE_GPU else "cpu" SUPPORTED_FILE_TYPES: List[str] = ["csv", "xlsx", "xls"] MODEL_EXPORT_FILENAME = "automl_model.joblib" COLOR_PALETTE = [ "#6C63FF", "#FF6584", "#43D8C9", "#FFB347", "#A8E6CF", "#FF8B94", "#84B1ED", "#FFA07A", "#B39DDB", "#4DD0E1", "#E6EE9C", "#F48FB1", "#80DEEA", "#CE93D8", ] BINARY_METRICS = ["Accuracy", "Precision", "Recall", "F1-Score", "ROC-AUC"] MULTICLASS_METRICS = ["Accuracy", "Precision (W)", "Recall (W)", "F1-Score (W)"] REGRESSION_METRICS = ["R²", "MAE", "MSE", "RMSE"] TASK_CLASSIFICATION = "classification" TASK_REGRESSION = "regression"