Aurich Lawson | Getty Images
Je ne suis pas un data scientist. Et bien que je connaisse bien un cahier Jupyter et que j’aie écrit une bonne quantité de code Python, je ne prétends pas être un expert en apprentissage automatique. Ainsi, lorsque j’ai effectué la première partie de notre expérience d’apprentissage automatique sans code/code faible et que j’ai obtenu un taux de précision supérieur à 90 % sur un modèle, j’ai suspecté que j’avais fait quelque chose de mal.
Si vous n’avez pas suivi jusqu’à présent, voici un bref aperçu avant de vous renvoyer aux deux premiers articles de cette série. Pour voir à quel point les outils d’apprentissage automatique pour le reste d’entre nous avaient progressé – et pour me racheter de la tâche impossible à gagner qui m’avait été confiée avec l’apprentissage automatique l’année dernière – j’ai pris un ensemble de données de crise cardiaque bien usé d’une archive à l’Université de California-Irvine et a tenté de surpasser les résultats des étudiants en science des données en utilisant le “bouton facile” des outils low-code et no-code d’Amazon Web Services.
Tout l’intérêt de cette expérience était de voir :
- Si un novice relatif peut utiliser ces outils de manière efficace et précise
- Si les outils étaient plus rentables que de trouver quelqu’un qui savait ce qu’il faisait et de le lui confier
Ce n’est pas exactement une image fidèle de la façon dont les projets d’apprentissage automatique se déroulent habituellement. Et comme je l’ai découvert, l’option “sans code” fournie par Amazon Web Services – SageMaker Canvas – est destinée à fonctionner main dans la main avec l’approche plus axée sur la science des données de SageMaker Studio. Mais Canvas a surpassé ce que j’étais capable de faire avec l’approche low-code de Studio, mais probablement à cause de mes mains moins qualifiées dans la gestion des données.
(Pour ceux qui n’ont pas lu les deux articles précédents, il est maintenant temps de se rattraper : voici la première partie, et voici la deuxième partie.)
Publicité
Évaluation du travail du robot
Canvas m’a permis d’exporter un lien partageable qui a ouvert le modèle que j’ai créé avec ma version complète à partir des plus de 590 lignes de données de patients de la Cleveland Clinic et de l’Institut hongrois de cardiologie. Ce lien m’a donné un peu plus d’informations sur ce qui se passait à l’intérieur de la boîte très noire de Canvas avec Studio, une plate-forme basée sur Jupyter pour faire des expériences de science des données et d’apprentissage automatique.
Comme son nom l’indique sournoisement, Jupyter est basé sur Python. Il s’agit d’une interface Web vers un environnement de conteneur qui vous permet de créer des noyaux basés sur différentes implémentations Python, en fonction de la tâche.
Exemples des différents conteneurs de noyau disponibles dans Studio.
Les noyaux peuvent être remplis avec tous les modules dont le projet a besoin lorsque vous effectuez des explorations axées sur le code, telles que la bibliothèque d’analyse de données Python (pandas) et SciKit-Learn (sklearn). J’ai utilisé une version locale de Jupyter Lab pour effectuer la plupart de mes analyses de données initiales afin d’économiser sur le temps de calcul AWS.
L’environnement Studio créé avec le lien Canvas comprenait du contenu prédéfini donnant un aperçu du modèle Canvas produit, dont j’ai brièvement parlé dans le dernier article :
Agrandir / Détails du modèle du best-of-show de Canvas dans Studio.
Certains des détails comprenaient les hyperparamètres utilisés par la version la mieux adaptée du modèle créé par Canvas :
Agrandir / Hyperparamètres du modèle.
Les hyperparamètres sont des ajustements qu’AutoML a apportés aux calculs de l’algorithme pour améliorer la précision, ainsi que certaines opérations de base : les paramètres d’instance SageMaker, la métrique de réglage (“F1”, dont nous parlerons dans un instant) et d’autres entrées. Tout cela est assez standard pour une classification binaire comme la nôtre.
La vue d’ensemble du modèle dans Studio a fourni des informations de base sur le modèle produit par Canvas, y compris l’algorithme utilisé (XGBoost) et l’importance relative de chacune des colonnes notées avec quelque chose appelé valeurs SHAP. SHAP est un acronyme vraiment horrible qui signifie “SHapley Additive exPlanations”, qui est une méthode basée sur la théorie des jeux pour extraire la contribution de chaque caractéristique de données à un changement dans la sortie du modèle. Il s’avère que la “fréquence cardiaque maximale atteinte” a eu un impact négligeable sur le modèle, tandis que les résultats de la thalassémie (“thall”) et de l’angiogramme (“caa”) – points de données pour lesquels nous avions des données manquantes importantes – ont eu plus d’impact que je ne le souhaitais . Je ne pouvais pas les laisser tomber, apparemment. J’ai donc téléchargé un rapport de performances pour le modèle afin d’obtenir des informations plus détaillées sur la tenue du modèle :