L'outil Phytostat est un logiciel de traitement de données permettant la classification,
l'entraînement de modèles puis la prédiction de classe géographiques. Il est basé sur l'utilisation des modules scikit-learn, numpy, pandas et l'interface graphique est basé sur shiny.
L'outil se décompose en différents onglets correspondant à des tâches spécifiques :
Les données d'entrées doivent se présenter sous la forme d'un fichier csv.
L'architecture globale des données d'entrées est la suivante :
La ligne #CAS peut être vide mais doit malgré tout exister.
Ce format est valable pour la création des modèles mais aussi pour la prédiction
Les sorties sont des fichiers csv pour les métriques, les prédictions et les données transformées; des fichiers sav pour les modèles de réduction de données et de classification; des graphiques au format html et png. Ils sont automatiquement enregistrés dans le dossier de travail, dans des dossiers spécifiques.
Cet onglet est organisé en sous onglet permettant la visualisation des différentes étapes, données ou
sorties. L'ensemble des modèles créés est issu du module sklearn dont la documentation est
disponible ici :
https://scikit-learn.org/stable/modules/classes.html. Les liens clicables de la page dirige vers la documentation de la fonction sklearn correspondante.
Quelque soit les paramètres choisis le pipeline de traitement de données est toujours le même.
Les différentes entrées permettent de paramétrer l'entraînement des modèles que ce soit sur la réduction de dimensionnalité ou les modèles de classifications. Elle permet aussi de stipuler le format des données (colonnes des cibles à prédire, colonnes des données à utiliser.)
sklearnCette onglet permet de visualiser le fichier utilisé pour l'entraînement des modèles. Il réagit au changement de lié à la fusion de données.
De plus, cette onglet permet de visualiser les variables explicatives pour un échantillon sélectionné (clic sur la ligne).
Après entraînement des modèles, cette onglet permet de voir la variance associée à chaque variable dans la réduction de dimensionnalité et de sélectionner uniquement les variables d'intérêt. Il est alors possible de recommencer un entraînement uniquement avec ces variables.
Les onglets Plot 3D et Plot 2D permettent de visualiser les données dans un espace à 2 ou 3 dimensions (si les données le permettent). De plus, à chaque graphique généré, il est automatiquement enregistré dans le dossier graphique se trouvant dans le dossier de travail sélectionné au début. Il est possible de choisir ici les dimensions selon lequel le graphique est fait .
Cet onglet permet, lorsqu'une méthode de réduction de dimensionnalité est appliquée, de visualiser la contribution de chaque variable à chaque dimension.
Le screeplot est un outil qui permet de déterminer visuellement qu'elle peut être le meilleur nombre de dimension dans l'étape de réduction de dimensionnalité
Dans cet onglet, différentes métriques de quantification des modèles sont affichées : une matrice de confusion, une matrice avec les scores de validation croisées (précision, sensibilité, F1-score) et un tableau des résultats en termes de faux/vrai positifs/négatifs.
Durant la phase d'optimisation, certains hyper-paramètres sont optimisés et affichés ici.
Si la ligne 2 du fichier n'est pas vide (numéro CAS), ici est affiché un tableau avec la contribution et la formule de la molécule.
Cet onglet affiche l'histogramme des probabilités obtenu dans chaque variable, dans chaque catégorie de prédiction (faux/vrai positifs/négatifs).
La visualisation des données permet une meilleure compréhension de la structure des
données. Différentes visualisations sont proposés et permettent
une première interprétation des données.
Il est basé sur l'utilisation des modules
scikit-learn, numpy, pandas et plotly et l'interface graphique est basé
sur shiny.
Chaque onglet permet de paramétrer une visualisation particulière.
Le premier onglet permet de visualiser les données d'entrée. Il permet de voir la distribution des donnée. Il permet aussi de visuellement s'assurer du bon numéro de colonne pour les cluster et les données. Ces inputs sont nécessaires avant la visualisation graphique
Le deuxième onglet permet de visualiser le spectre de chaque échantillon sélectionnés sur le premier onglet en cliquant sur la ligne. Cette visualisation est particulièrement adaptée pour les applications en chimie analytique.
Le troisème onglet permet de calculer des indices de distributions. Il permet d'effectuer les taches de statistiques descriptives pour chaque variable.
Le quatrième onglet permet de représenter sous forme de barplot, la distribution des
différentes classes présentes dans la colonne cluster. Cet onglet est
important pour le diagnostic préalable à la classification, équilibrage du jeu d'entraînement.
Le cinquième onglet permet de représenter la distribution des variables sous forme de boxplot. Il est possible de choisir les variables représentées en tapant leur numéro dans la zone de texte.
Le dernier onglet permet de représenter les données sous formes de heatmap binaires ou quantitatifs. La version quantitative est clusterisé par ligne et colonne afin de regrouper les données similaires ensemble.
La plupart des onglets permettent simplement une visualisation et une description des données sans forcément d'intérpretation. Cependant, le graphique de fréquence des classes est particulièrement intéressant dans le cadre de la classification car il permet de vérifier que le jeu de données n'est pas déséquilibré vers une classe particulière ce qui pourrait biaiser l'entraînement.
Cet onglet permet de prédire la classe de nouveaux échantillons. Pour cela des modèles doivent avoir été construit à l'étape précédente. Divers onglets permettent de visualiser les prédictions soit sous la forme d'un tableau soit sous la forme d'un graphique. Enfin il est possible d'utiliser de multiples modèles qui sont moyennés pour prendre en compte les erreurs et biais associés à chaque modèle. L'ensemble des prédictions sont enregistré dans un dossier prediction du dossier de travail.
La barre latérale permet comme à l'étape précédente de sélectionner les fichiers et les modèles à utiliser. Pour la prédiction, le dossier de travail doit contenir les dossier methods et classifier (automatiquement créés à l'étape précédente) contenant les modèles. Sans ces modèles, il est impossible de faire de la prédiction.
Cet onglet permet de traiter les fichiers issus de l'analyse de spectrométrie.
Une première étape permet de convertir les fichiers raw en ficher mzxML. Plusieurs fichiers peuvent être convertis en même temps.
La seconde permet, à partir des fichiers convertis, d'étudier les spectres obtenus et d'en extraire automatiquement les spectres. Il est possible de sélectionner le degré de lissage de l'algorithme, le nombre de pic à extraire ainsi que la précision autour du pic à extraire.
Le spectre ainsi que les fenêtres de chaque pic (début en vert et fin en rouge) sont affichés.
Enfin, le tableau actualisé avec les pics s'affiche en dessous en montrant les intensités moyennes, les temsp de rétentions de début et de fin de pic. Ce tableau ainsi que l'ensemble des intensités pour chaque rapport m/z sont enregistrés dans le dossier output.
L'onglet Clustering géographique permet à partir d'un fichier de coordonnées GPS de déterminer le nombre optimal de clusters dans le jeu de données.
Le fichier d'entrée se présente sous la forme d'un tableau excel (xlsx) où l'un des colonnes représente les coordonnées géographiques dans le format "lat,lon". Elle sera spécifié dans la case "Colonne(s) de coordonnées".
Il est aussi possible que les données géographiques soit sous forme de 2 colonnes. Il faut alors indiquer, dans cette même case, la colonne latitude puis la colonne longitude, séparées par un point virgule.
L'Algorithme utilisé est un K-Means. Le nombre de groupe est défini dans la case "Nombre de groupe".
Cela fonctionne par processus itératif. K centroides sont placés aléatoirement dans l'espace des points de données. Chaque point est alors attribué au centroide le plus proche. Les centroides sont alors recalculés comme le centre des points qui lui ont été attribués. À chaque étape, des mesures de distances inter et intra groupes sont faites. Elles permettent en étudiant leur évolution de quantifier la convergence du processus et de décider d'un moment d'arrêt.
Le tableau actualisé avec les cluster s'enregistre automatiquement dans le dossier output. De plus la carte avec les points attribués à leur cluster est aussi enregistrée automatiquement dans le dossier graphique.
Enfin, le graphique permettant de choisir le meilleur nombre de groupe est disponible aussi dans le dossier graphique.