Par Faycal HAFID, Andy MÉRY, Mohamed MOUSSAOUI, Alla NOOR, étudiants en Data Science IMT Atlantique.
La somnolence au volant représente un véritable danger pour les automobilistes. En effet, une étude de l’American Automobile Association démontre que le risque est conséquent car plus d’un accident mortel sur six est lié à l’assoupissement au volant.
De plus, les conséquences économiques sont lourdes avec un préjudice estimé à plus de 30 milliards de dollars. C’est d’autant plus le cas pour les sociétés de transport routier dont les conducteurs sont confrontés à un haut facteur de risque puisqu’ils travaillent pendant de longues durées et souvent de nuit. Effectivement, une étude indique que près de 20% des conducteurs professionnels interrogés affirment s’être déjà endormis au cours du mois courant.
Une start-up imaginaire désireuse de sauver des vies
Pour être fidèles aux considérations business présentes en Data Science, nous nous sommes projetés dans le futur en start-upers, souhaitant mettre en pratique nos compétences pour répondre à des problèmes du quotidien. Ainsi, notre jeune start-up Rouse envisage-t’elle de développer une application mobilisant le Machine Learning pour exploiter les données d’un bracelet connecté porté par le conducteur qui surveillera ses constantes biologiques et l’alertera si jamais elle détecte un assoupissement.
Le business plan de Rouse est divisé en deux phases de déploiement. En effet, il s’agira dans un premier temps de concevoir un modèle sur des données académiques obtenues au cours d’étude sur le sommeil qui permettra de valider la faisabilité d’un tel projet. Dans un second temps, nous déploierons cette solution au sein d’un environnement de test représentatif du cas d’utilisation réel.
Des données pertinentes … issues d’Apple watches !
Le jeu de données utilisé provient de la banque de données open data en ligne PhysioNet, spécialisée dans les données physiologiques. Il a été collecté au département de Neurologie de l’université du Michigan via une étude sur le sommeil et se présente la forme de signaux de mesures de rythme cardiaque (battements par minute) et d’accélération (mesurées en g) ainsi que le nombre de pas. Ces données ont été collectées en faisant porter des Apple Watch à des participants qui les surveillaient pendant leur sommeil.
Le volume des données est assez grand pour permettre à la fois d’entraîner un modèle et de l’évaluer. En effet, les durées d’enregistrements sont de 7 heures en moyenne par patient, avec 75% des patients ayant au moins 8 heures d’enregistrement! Voici ci-dessous une visualisation des données à notre disposition sur une fenêtre de trente secondes :
Le patient s’endort, puis il y a un court épisode durant lequel il se réveille puis se rendort tout de suite après : on peut voir le changement dans le rythme cardiaque qui augmente puis revient à des valeurs précédentes. Cela indique que, dans une certaine mesure, les données sont pertinentes pour répondre à la problématique et sont suffisamment représentatives pour mettre en exergue une transition entre un état éveillé et un état de sommeil léger c’est-à-dire un assoupissement.
Passer le balai sur les mauvaises données
Allez hop ! Il est temps de nettoyer les données pour par la suite mettre en place notre modèle. Elles sont sous forme de fichiers .txt différents par patient et par attribut. Il a donc fallu assembler les données des différents attributs pour un même patient puis aussi rassembler les données de tous les patients confondus.
Ceci n’a pas été simple car les données ne sont pas toutes exactement de la même forme, ce qui est indispensable afin de faire une jointure et générer des attributs. L’idée est donc de mettre en forme les données du rythme cardiaque, leur attribuer le bon label, et de mettre les données d’accélérations sous la même forme pour permettre la jointure.
Place à nos algorithmes de Machine Learning
Des considérations liées à la nécessité de classifier en temps réel et ne pas avoir à traiter les flux entrants nous ont menés à implémenter un modèle de forêt aléatoire (RandomForest), et dans un deuxième temps des modèles de Naive Bayes et SVM.
Nous avons opté pour les deux critères d’évaluation suivants :
- Précision : elle permet de qualifier les performances de la classification par le modèle
- Rappel pour les labels 1 et 2 : il est crucial de maximiser la détection des vrais positifs qui correspondent à un état d’endormissement (passage de l’état 1 à 2).
Parmi les modèles de classifieurs entraînés, nous pouvons conclure avec certitude que Random Forest est le plus adapté. Comme nos données sont des signaux physiologiques collectés par un dispositif électronique, nous devons tester notre modèle face au bruit éventuel qui peut s’infiltrer. Nous avons donc classifié des données auquel on a ajouté du bruit, pour différents SNR (rapport signal à bruit) et nous avons comparé les performances obtenues par le modèle que nous avons sélectionné : le Random Forest. Les résultats illustrés ci-dessous sont des résultats auxquels on pouvait s’attendre : plus le SNR est bas (plus l’intensité bruit dépasse celle du signal) plus les performances du modèle faiblissent.
On se prépare pour la suite !
Ces résultats prometteurs nous permettent de suivre le déroulement prévu du projet et donc de planifier une phase de déploiement qui nous servira à suivre la performance du modèle dans des cas réels.
Il sera alors nécessaire de porter notre attention sur de nouvelles considérations, en particulier le fondement juridique. En effet, jusqu’alors nous avions utilisé une base de données sous la licence permissive OPEN DATA ODC-BY 1.0. Les personnes soumises à l’enregistrement de leurs données biologiques étaient Américaines ; conséquemment la conformité à la RGPD n’était pas requise.
Néanmoins, le cadre légal sera plus contraignant une fois le dispositif mis en place puisqu’il faudra respecter la RGPD. Plus spécifiquement, le signal physiologique qu’est la fréquence cardiaque possède un degré de protection supplémentaire en tant que donnée sensible par rapport aux données conventionnelles qui nécessite de mettre en place une solution de cryptographie adéquate.
Rouse se devra également de trouver un financement pour poursuivre un tel déploiement. Nous estimons que les résultats préliminaires encourageants permettront de convaincre des investisseurs de placer leur confiance en notre projet.