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.
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
SVM — RBF
XGBoost*
Penalized Logistic Regression
LightGBM*
CatBoost*
Elastic Net Logistic Regression
Naive Bayes
Multi-Layer Perceptron (NN)
Bagging of Random Forests
Bagging of SVMs
* Dépendance optionnelle. D’autres classifieurs scikit-learn pourront s’ajouter.
Stratégies de split
Méthode | Usage |
---|---|
Hold-out | Baseline rapide ; ratio (ex. 70/30) & graine |
Stratified K-Fold | Robuste sous déséquilibre de classes |
Repeated Stratified K-Fold | Réduit la variance par répétitions |
Nested CV | Sélection non biaisée (grille interne / éval externe) |
Train/Val/Test | Validation 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èle | Grille par défaut (extrait) |
---|---|
SVM — RBF | C ? {1,10}; gamma ? {1e-3,1e-4} |
Random Forest | n_estimators ? {200,500}; max_depth ? {None,10,20} |
XGBoost | eta ? {0.03,0.1}; max_depth ? {3,5,7} |
Elastic Net LogReg | C ? {0.1,1,10}; l1_ratio ? {0.2,0.5,0.8} |
MLP | hidden_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.