%%{init: {'flowchart': {'htmlLabels': false}} }%% flowchart TD A["Données brutes : <br />Diagnostics, médicaments, signaux"] --> B["Opérations de transformation : <br />Sélection, filtres, seuils, liens inter-bases"] B --> C["Agrégation : <br />moyenne, médiane, min, max, durée, compte"] C --> D["Caractéristiques dérivées : <br />Nb de médicaments, diagnostics,\nindicateurs hémodynamiques"]
L’extraction de caractéristiques (ou feature extraction)
Réutilisation des données, Entrepôt de données, Data warehouse, Datamart, Feature extraction
Contexte
En data science, et dans le cadre de la réutilisation des données en particulier, nous travaillons à partir de bases de données brutes, déjà collectées. Ces bases n’ont pas été conçues pour répondre à des objectifs d’analyse, de modélisation ou de visualisation, mais pour des finalités opérationnelles telles que le soin, la facturation ou le suivi administratif. Leur structure reflète ces usages, et non les besoins d’une réutilisation secondaire à des fins scientifiques ou décisionnelles.
L’exploitation de ces bases de données se heurte à plusieurs difficultés :
- Multidimensionnalité : elles comportent souvent plusieurs tables, reliées entre elles par des relations un-à-plusieurs.
- Dépendance au temps : les enregistrements sont datés (par exemple, une administration de médicament), mais non alignés dans le temps, car ils suivent la prise en charge propre à chaque individu.
- Variables qualitatives complexes : les modalités sont nombreuses et exprimées avec des terminologies standardisées, comme la CIM-10 (diagnostics) ou la CCAM (actes médicaux), qui comportent chacune des milliers de codes.
- Déséquilibre des distributions : certains modalités ou valeurs sont très rares et peu fréquentes à l’échelle d’un individu.
Enfin, les données brutes ne sont souvent pas utilisables en l’état pour mener des analyses statistiques : elles doivent être transformées en variables dérivées, appelées caractéristiques ou features, c’est à dire des variables adaptées à l’analyse.
Caractéristiques / Features
Une caractéristique (feature) est une valeur unique associée à une nom (Table 1). Dans une caractéristique, la dimension temporelle est implicite : elle n’est plus formalisée par une date précise dans l’enregistrement. Elle peut parfois apparaître dans le nom de la variable — par exemple, la valeur maximale de créatinine à J0, c’est à dire au premier jour de l’hospitalisation (max_creat_j0) — ou être intégrée directement dans la valeur de la caractéristique elle-même, pour exprimer un délai ou une durée — par exemple, la durée du séjour (duree_sejour).
Une caractéristique dépend fortement du contexte de l’étude. Par exemple, pour la créatinine, J0 fait référence au premier jour de l’hospitalisation considérée dans le protocole d’analyse. De même, une variable décrivant la présence d’antécédents médicaux dépendra étroitement de la définition retenue dans l’étude : celle-ci peut s’appuyer sur la présence d’un diagnostic codé, la réalisation d’un acte médical spécifique, ou encore la délivrance d’un médicament donné. Ces événements doivent être recherchés sur une période d’observation définie (par exemple les 12 mois précédents l’inclusion), en fonction des objectifs de l’étude et des antécédents jugés pertinents pour la pathologie étudiée.
Caractéristiques / Features | Données |
---|---|
Durée d’hypotension (<65 mmHg) | Mesures de pression artérielle moyenne |
Insuffisance rénale aigüe | Mesures de créatinine |
Durée de séjour | Séjours hospitaliers |
Réhospitalisation à 30 jours / 6 mois / 1 an | Séjours hospitaliers |
Valeur maximale de créatinine à l’admission | Biologie |
Extraction de caractéristiques (feature extraction)
L’extraction de caractéristiques (feature extraction) est le processus qui consiste à transformer des données brutes en variables pertinentes et exploitables pour répondre à une question précise, ou alimenter un modèle d’analyse. Cette étape mobilise à la fois la connaissance du domaine (dans notre cas, la santé) et des méthodes pour résumer, combiner ou dériver des informations utiles à partir des données disponibles.
L’hypotension au bloc opératoire
A partir des données enregistrées au bloc opératoire (fréquence cardiaque, pression artérielle, saturation en oxygène), il est possible de dériver des indicateurs hémodynamiques tels que la survenue d’une bradycardie, d’une tachycardie, d’une hypotension, d’une hypertension ou encore d’une désaturation (Figure 1). Ces indicateurs sont essentiels pour la recherche car les médicaments utilisés pour l’anesthésie, en particulier les hypnotiques, modifient l’hémodynamique. Les variations hémodynamiques, telles que l’hypotension, sont ensuite associées à une augmentation de la mortalité post-opératoire et à la survenue de comorbidités rénales1.
En l’état, les données représentées dans la (Figure 1) ne sont pas directement exploitables. Il s’agit en effet de mesures dépendantes du temps, avec une valeur par enregistrement, et dont les instants de recueil diffèrent d’un patient à l’autre. Pour analyser l’hypotension, il est préférable de calculer des indicateurs dérivés, tels que la durée passée sous un seuil donné — par exemple 65 mmHg — comme illustré dans la (Figure 2). Cette opération nécessite la mise en place d’un algorithme permettant de comptabiliser le temps cumulé sous la valeur seuil, en tenant compte notamment de la gestion des données manquantes (lorsque l’intervalle entre deux mesures est anormalement long) et de la fréquence d’échantillonnage2.
Ainsi, des données initialement organisées ligne par ligne — avec une mesure par ligne et un nombre de mesures variable selon la durée de prise en charge au bloc opératoire — sont transformées en un format où chaque colonne correspond à une feature spécifique (Figure 3).
Opérations usuelles pour l’extraction de caractéristiques
Les principales opérations utilisées lors de l’extraction de caractéristiques sont les suivantes :
Sélection de modalités : repérer les événements pertinents dans une base à partir de codes ou de terminologies standardisées. Exemple : identification des diagnostics CIM-10 de catatonie (F06.1 et F20.2)3 ; sélection des délivrances d’antidépresseurs par les codes ATC N06A4.
Filtres temporels : restreindre l’analyse à une période donnée. Exemple : calcul des délivrances de médicaments par semaine4 ; définir une fenêtre de 90 jours avant une hospitalisation pour quantifier les expositions médicamenteuses.
Lien entre plusieurs bases : associer des informations issues de sources différentes afin de reconstruire une trajectoire ou contextualiser un événement. Exemple : relier les données d’administration de médicaments avec le passage d’un patient au bloc opératoire.
Fonctions de résumé : elles permettent de dériver des caractéristiques synthétiques à partir des données brutes. On distingue :
les opérations d’agrégation, qui condensent une série de valeurs en un indicateur unique (moyenne, médiane, minimum, maximum, écart-type) ;
les opérations de comptage, qui quantifient la fréquence ou l’ampleur d’un événement (nombre d’occurrences, nombre d’individus concernés) ;
les opérations de dérivation, qui produisent de nouvelles variables à partir de relations entre mesures (par exemple, calcul d’une différence ou d’une durée entre deux événements)4.
Pour calculer une caractéristique, ces opérations peuvent s’enchaîner (Figure 4). On peut par exemple commencer par associer deux bases de données afin de disposer à la fois de mesures ponctuelles (par exemple, les résultats de biologie) et de périodes (comme les séjours dans différentes unités de soins). On sélectionne ensuite les paramètres biologiques et les unités pertinentes, puis on applique un filtre temporel pour restreindre l’analyse à une période donnée. Enfin, une fonction de résumé permet de calculer un indicateur synthétique, par exemple la valeur maximale d’un biomarqueur au cours d’un séjour en unité de réanimation.
Une proposition de méthode
Nous proposons de découper le processus en deux étapes : la définition de tracks (ou pistes), qui consiste à transformer les données brutes en segments temporels ou signaux d’intérêt, et l’agrégation des tracks (track aggregation), qui permet de résumer ces segments par des valeurs synthétiques (Figure 5). Les features obtenues sont alors des variables unidimensionnelles et indépendantes du temps, compatibles avec une unité statistique unique (patient, séjour, acte, etc.).
Lors de cette transformation, la structure des données change : on passe de nombreuses lignes réparties sur plusieurs tables à un tableau synthétique où chaque ligne représente l’unité statistique, et chaque colonne une caractéristique extraite. Cette standardisation permet de gérer la complexité initiale des données de santé, souvent hétérogènes, multidimensionnelles et dépendantes du temps. Par exemple, dans une étude sur les interactions médicamenteuses, des administrations de plusieurs médicaments sont combinées pour détecter une exposition concomitante, qui est ensuite agrégée pour produire un indicateur binaire ou une durée.
Cas d’usage complet
Nous souhaitons mesurer le nombre de médicaments appartenant à la liste de Laroche [laroche_potentially_2007] dans les 90 jours qui précédent l’hospitalisation (Figure 6).
Tout d’abord, les enregistrements bruts des données administratives (dates d’admission et de sortie d’hospitalisation) ont été transformés en un nouveau type d’enregistrement correspondant à la survenue d’une hospitalisation (étape 1). Ensuite, cette piste a été transformée pour obtenir une seconde piste représentant les 90 jours précédant l’hospitalisation (90_days) (étape 2).
Les administrations de médicaments figurant dans la liste de Laroche ont été identifiées, et les périodes d’administration du médicament A et du médicament B ont été calculées à partir des dates d’administration et de la durée de traitement, aux étapes 3 et 4, respectivement. Des pistes similaires ont été calculées pour l’ensemble des médicaments de la liste de Laroche, mais, pour des raisons de clarté de la figure, nous avons choisi d’illustrer uniquement les deux premiers médicaments.
Après ces quatre étapes, des comparaisons entre pistes ont été réalisées successivement. Cela a permis de comparer les pistes d’administration du médicament A et du médicament B à la piste 90_days, aux étapes 5 et 6, respectivement. Les résultats ont ensuite été réunis dans une piste commune afin d’obtenir les pistes d’administration des éléments de la liste de Laroche au cours de la période 90_days (étape 7).
Enfin, le nombre d’éléments distincts a été comptabilisé pour obtenir la caractéristique finale, à savoir le nombre de médicaments de la liste de Laroche administrés au cours des 90 jours précédant l’hospitalisation.
Enjeux et bonnes pratiques de l’extraction de caractéristiques
L’extraction de caractéristiques est une étape cruciale dans les projets de data science en santé. Bien qu’elle permette souvent de disposer des variables nécessaires pour directement à la question d’analyse posée, ce processus reste méthodologiquement complexe.
Dans de nombreux cas, les caractéristiques sont extraites à partir de bases de données médicales figées, contenant des épisodes de soins passés et un grand nombre d’enregistrements. Cela implique que tous les scénarios d’analyse doivent être anticipés, afin d’éviter des modifications manuelles fastidieuses ou sources d’erreur en aval.
La manière dont les caractéristiques sont extraites peut influencer significativement les résultats (voir notamment les travaux de Pasma à ce sujet5). Le choix des variables, des fenêtres temporelles, ou encore des méthodes de calcul, peut introduire des biais ou masquer des signaux pertinents.
Ce processus illustre bien la démarche pluridisciplinaire propre à la data science en santé : il mobilise des compétences en santé (pour comprendre les parcours de soins et sélectionner les bonnes données), en informatique (pour automatiser et fiabiliser l’extraction), et en statistique (pour interpréter les résultats avec rigueur).
Enfin, pour aller plus loin, il peut être pertinent d’intégrer un feature store pour centraliser le stockage des caractéristiques, et un feature catalogue pour documenter leur définition, leur version, et leur utilisation dans différents projets ou publications.
A voir
Comparaison entre la collecte manuelle et le data reuse Pipeline de réutilisation des données
Synthèse
Définition : Une feature (ou caractéristique) est une variable ou un attribut calculé à partir des données brutes, qui résume une information jugée pertinente pour répondre à une question de recherche ou alimenter un modèle prédictif. Dans le domaine de la santé, il peut s’agir par exemple du nombre de jours d’hospitalisation, de la prise cumulée d’un traitement ou de la fréquence d’un symptôme.