EpiXplain

Modèles — catalogue & contrôle d’entraînement

Laissez-vous guider ou décidez de tout. Défauts par pathologie, ou exploration totale : splits, grilles, ensembles de sondes & inférence. 11 modèles implémentés.

Modes Catalogue des modèles Traçabilité

Deux manières de travailler

Choisissez une pathologie : EpiXplain propose un modèle validé + des seuils (modifiables). Idéal pour des bases rapides et cohérentes.

  • Pathologie ? modèle & configuration par défaut (éditables)
  • Split & métriques standard
  • Recalcul nocturne avec logs complets

Inférence & confrontation

Après entraînement, confrontez tout cas (confirmé ou inconnu). Probabilités par classe, scores calibrés, overlays d’explication (CIIE à venir).

L’inférence par lot est journalisée/versionnée : relance possible avec tout snapshot antérieur.

Modèles disponibles (11)

Implémentations actuelles ; hyper-paramètres configurables par grilles (ou défauts). XGBoost/LightGBM/CatBoost sont des dépendances optionnelles.

Random Forest

Non-linéaire, robuste au bruit ; à l’aise en haute dimension (CpG).
n_estimatorsmax_depth

SVM — RBF

Très performant en haute dimension sur petits échantillons.
Cgamma

XGBoost*

Gradient boosting puissant ; gère déséquilibres & signaux clairsemés.
etamax_depth

Penalized Logistic Regression

Baseline simple & interprétable (odds) ; L1/L2.
Cpenalty

LightGBM*

Boosting très rapide ; efficace sur grands jeux de CpG.
num_leaveslearning_rate

CatBoost*

Robuste, gère bien l’hétérogénéité ; stable sur petits jeux.
depthl2_leaf_reg

Elastic Net Logistic Regression

Mélange L1/L2 : sélection parcimonieuse (pruning CpG).
Cl1_ratio

Naive Bayes

Probabiliste léger ; bon repère baseline.
var_smoothing

Multi-Layer Perceptron (NN)

Capte des non-linéarités ; utile si features normalisées.
hidden_layersalpha

Bagging of Random Forests

Stabilité accrue & variance réduite sur petits échantillons.
n_estimators

Bagging of SVMs

Robustifie SVM & améliore la calibration.
bagsC/gamma

* Dépendance optionnelle. D’autres classifieurs scikit-learn pourront s’ajouter.

Stratégies de split

MéthodeUsage
Hold-outBaseline rapide ; ratio (ex. 70/30) & graine
Stratified K-FoldRobuste sous déséquilibre de classes
Repeated Stratified K-FoldRéduit la variance par répétitions
Nested CVSélection non biaisée (grille interne / éval externe)
Train/Val/TestValidation explicite (early-stopping / calibration)

Toutes les stratégies supportent un random_seed fixe pour la reproductibilité.

Déséquilibre de classes

  • Poids d’échantillons ou class_weight="balanced"
  • SMOTE optionnel en pipeline de CV (mode recherche)
  • Privilégier AUROC/AUPRC, MCC, balanced accuracy

Recherche d’hyper-paramètres

Utilisez la **grille par défaut** adaptée à la méthylation, ou fournissez la vôtre. Randomized search pour grands espaces.

ModèleGrille par défaut (extrait)
SVM — RBFC ? {1,10}; gamma ? {1e-3,1e-4}
Random Forestn_estimators ? {200,500}; max_depth ? {None,10,20}
XGBoosteta ? {0.03,0.1}; max_depth ? {3,5,7}
Elastic Net LogRegC ? {0.1,1,10}; l1_ratio ? {0.2,0.5,0.8}
MLPhidden_layers ? {(64,), (128,64)}; alpha ? {1e-4,1e-3}

Impact des ensembles de sondes

  • Épisignatures, sets dérivés de DMR, top-k SHAP, ou liste de CpG perso
  • Comparer les modèles selon la sélection
  • Exporter la meilleure combinaison comme signature nommée

Évaluation & reporting

  • Métriques principales : AUROC, AUPRC, MCC, balanced accuracy, F1
  • Matrices de confusion & métriques par classe
  • Calibration de scores (Platt / Isotonic)
  • Model cards avec empreintes dataset & config

De l’entraînement à l’inférence

Tout snapshot entraîné peut être promu en production. Comparaison des prédictions avec overlays CIIE (à venir) pour la discussion de cas.

Versionnage & traçabilité

Chaque run conserve versions des packages, configs et empreintes pour une reproductibilité totale.

{
  "run_id": "mdl_2025_10_10T12:00Z",
  "dataset_version": "beta_matrix:v0.12",
  "probe_set": "Episig_RDv4_top10k",
  "split_strategy": "StratifiedKFold(k=5, seed=42)",
  "model": "SVM_RBF",
  "grid": {"C":[1,10], "gamma":[1e-3,1e-4]},
  "scores": {"AUROC":0.962, "MCC":0.81, "BalAcc":0.90}
}

Couverture prévue

Intégration progressive des classifieurs scikit-learn avec configuration/reporting unifiés.