4Module d’apprentissage

Cette page documente l’ensemble du processus d’apprentissage automatique de la démo PARIS, où nous exploiterons les données traitées pour entraîner des modèles afin de prédire l’état émotionnel des patients.

Comme expliqué dans le flux de travail du module d’apprentissage, il est fortement recommandé de commencer par effectuer une comparaison des algorithmes d’apprentissage automatique à l’aide de la scène d’expérimentation avant d’entraîner un modèle final dans la scène principale. Ainsi, ce processus est séparé en deux étapes : l’étape d’expérimentation et l’étape de création du modèle final.

Expérimentation : sélection du meilleur algorithme ML

Création de scène

circle-info

Apprenez à créer une scène d’expérimentation ici.

Commencez par créer une scène d’expérimentation dans le module d’apprentissage. Ensuite, ouvrez votre scène et utilisez la configuration suivante en faisant glisser, déposer et connecter les nœuds :

Fig. 23 - Scène d’expérimentation PARIS

Pour le nœud Dataset, utilisez la configuration suivante :

  • Type : Fichier de données personnalisé

  • Fichiers : Learning_PARIS_Final.csv (ou tout autre nom donné à l’ensemble d’apprentissage des données PARIS)

  • Cible : target

Fig. 24 - Configuration du nœud Dataset

Aucune modification ne sera nécessaire pour le reste des nœuds, et une fois la scène prête, cliquez sur Exécuter.

Résultats de la scène expérimentale

circle-info

Les modèles dans les scènes expérimentales sont entraînés et testés à l’aide d’une seule itération, ce qui se traduit par un biais faible mais une variance élevée (incertitude).

Une fois les résultats prêts, cliquez sur le bouton « Voir les résultats » et sélectionnez la section « Comparer les modèles ». Cela affichera une liste d’algorithmes d’apprentissage automatique classés selon leurs performances sur la tâche de prédiction des patients en détresse émotionnelle. Pour plus de clarté, les étapes sont illustrées dans la figure ci-dessous :

Fig. 25 - Résultats de Comparer les modèles

Comme indiqué dans le panneau des résultats, le modèle Random Forest obtient les meilleures performances ; il sera donc utilisé pour entraîner notre modèle final dans la scène principale.

Scène principale : entraînement et évaluation du modèle final

Maintenant que nous avons sélectionné l’algorithme le plus performant, nous allons entraîner un modèle final en suivant les bonnes pratiques de l’apprentissage automatique, tout en nous concentrant sur l’optimisation du processus d’entraînement pour de meilleures performances. À cette fin, créez une scène principale et appliquez la configuration suivante :

Fig. 26 - La scène principale pour la prédiction de la détresse émotionnelle à partir des données PARIS

Configuration des nœuds

Appliquez les configurations suivantes à vos nœuds :

  • Nœud Dataset : utilisez l’ensemble d’apprentissage créé à l’étape précédente avec la colonne cible « target ». De plus, l’encodage one-hot est automatiquement appliqué lors de l’utilisation de PyCaret, et comme notre ensemble de données n’en a pas besoin, il sera désactivé en définissant max_encoding_ohe à 0. Vous pouvez ajouter cette option en cliquant sur le bouton plus du nœud et en l’activant. Enfin, ajoutez l’option session_id et définissez-la sur un nombre fixe afin de contrôler l’aléa de l’expérience.

Fig. 27 - Configuration du nœud Dataset
Fig. 28 - Option supplémentaire pour le nœud Dataset
  • Nœud Clean : le processus de nettoyage par défaut de pyCaret inclut déjà les étapes de traitement des données nécessaires, notamment :

    • Inférence du type de données : détecte automatiquement les types de données.

    • Imputation des valeurs manquantes : imputation « Mean » pour les variables numériques, et imputation « Mode » pour les variables catégorielles.

    • Encodage catégoriel : convertit les catégories en entiers.

    Cependant, pour simplifier notre modèle, une sélection de variables avec un maximum de 5 variables finales est appliquée. Cliquez sur le nœud Clean, puis cliquez sur le bouton « + » et ajoutez les options suivantes :

    • feature_selection : permet de sélectionner un sous-ensemble de variables en fonction de leur importance. Définir à True.

    • feature_selection_estimator : classificateur utilisé pour déterminer l’importance. Définir à « lr » (régression logistique).

    • n_features_to_select : nombre maximal de variables à sélectionner. Définir à 5.

N’hésitez pas à tester d’autres options de nettoyage, comme l’ajout d’un processus de normalisation des variables.

Fig. 29 - Configuration de la sélection de variables dans le nœud de nettoyage
  • Nœud Split : utilisez Bootstrap comme méthode de découpage avec 100 itérations. Définissez la colonne de stratification sur « target ». Bootstrap aide à réduire le biais dans l’estimation des performances.

triangle-exclamation
Fig. 30 - Configuration du nœud Split
  • Nœud Model : sélectionnez « Random Forest » comme algorithme d’apprentissage automatique.

Fig. 31 - Configuration du nœud Model
  • Entraîner le modèle : activez le réglage pour ajuster les hyperparamètres du modèle et optimiser les performances.

Fig. 32 - Configuration du nœud Train Model
  • Nœud Analyze : aucune modification requise, mais vous pouvez changer la métrique à tracer.

Exécutez la scène et analysez les résultats

Une fois la scène configurée, appuyez sur le bouton Exécuter et suivez le processus d’exécution grâce à la barre de progression en bas. Une fois vos résultats prêts, le bouton « Mode d’analyse » sera activé et, en cliquant dessus, vous accéderez au panneau d’analyse en bas, où tous les résultats seront affichés. Sélectionnez ensuite les résultats de performance du modèle :

Fig. 33 - Résultats du modèle

Le modèle a atteint un AUC de 0,76, ce qui est considéré comme bon, mais il y a toujours une marge d’amélioration. Cette performance met en évidence le potentiel de notre modèle. Elle montre comment des utilisateurs sans expérience préalable en programmation peuvent créer des modèles exploitables, prouvant ainsi l’utilité de la plateforme MEDomics, en particulier du module d’apprentissage.

Finaliser et enregistrer notre modèle.

La dernière étape consiste à réentraîner notre modèle sur l’ensemble complet d’apprentissage et à l’enregistrer pour une évaluation finale sur l’ensemble de holdout créé à l’étape 3. Pour ce faire, vous pouvez cliquer sur le bouton « Finaliser et enregistrer le modèle ». Cela réentraînera votre modèle sur l’ensemble d’apprentissage complet en utilisant le même processus que précédemment. Une fois le modèle enregistré, vous devriez le voir dans le sous-dossier « models » de votre dossier de scène.

Fig. 34 - Arborescence de la scène principale

Une fois le modèle enregistré, vous êtes prêt pour l’étape suivante et finale, où nous évaluerons notre modèle sur l’ensemble de holdout, expliquerons et analyserons ses prédictions à l’aide du module d’évaluation.

Supplément : autres configurations que vous pouvez essayer

circle-info

Pour simplifier, nous avons choisi un modèle avec seulement cinq variables, mais de meilleures performances sont obtenues lorsque le nombre maximal de variables à utiliser n’est pas limité.

Le module d’apprentissage dispose de nombreux paramètres et fonctionnalités, ce qui conduit à une variété de configurations pouvant être mises en œuvre et testées. Dans cette section, nous réentraînons notre modèle sans fixer de nombre maximal de variables, ce qui a donné les résultats suivants :

Fig. 35 - Résultats du modèle entraîné

Nous vous encourageons vivement à expérimenter différentes configurations et méthodes afin d’améliorer éventuellement vos résultats. Dans les sections suivantes, nous évaluerons le modèle enregistré sur l’ensemble de holdout.

Mis à jour