Vous êtes sur la page 1sur 7

3 bibliothèques Python low-code que

vous devez connaître


Laquelle d’entre elles est la meilleure bibliothèque low-code
pour l’apprentissage automatique ?
Certains de mes blogs les plus populaires sur Medium concernent
des bibliothèques que je pense que vous devriez essayer. Dans ce
blog, je me concentrerai sur les bibliothèques d’apprentissage
automatique low-code. La vérité est que de nombreux scientifiques
des données pensent que les bibliothèques low-code sont des
raccourcis et devraient être évitées. J’ai bien peur de ne pas être
d’accord! Je pense que les bibliothèques low-code devraient être
incluses dans notre pipeline pour nous aider à prendre des décisions
importantes sans perdre de temps.

Par exemple, imaginez que vous venez de démarrer un projet et que


vous n’avez aucune idée du modèle à tester. Vous pouvez commencer
avec les modèles qui, selon vous, fonctionneraient bien, et après
avoir exécuté quelques modèles supplémentaires, vous décidez
lesquels vous souhaitez hypertuner. L’inconvénient est que vous êtes
limité aux modèles que vous connaissez, et cela peut prendre
beaucoup de temps pour configurer tous ces modèles. L’autre option
consiste à utiliser une bibliothèque low-code, à exécuter des dizaines
de modèles à la fois, à choisir le meilleur, à essayer de le reproduire
et à l’appeler pour la journée. Lequel vous semble le plus intelligent?

Heureusement, nous avons de nombreuses bibliothèques low-code


pour l’apprentissage automatique, et aujourd’hui, je vais couvrir
trois de mes favoris encore. L’objectif de ce blog est de présenter
quelques bibliothèques afin que vous puissiez les essayer par vous-
même. Vous pouvez trouver le code que j’ai utilisé dans ce carnet. Je
ne couvrirai donc pas les moindres détails. Commençons.

PyCaret

L’une des bibliothèques low-code les plus populaires pour


l’apprentissage automatique est PyCaret. Il y a des dizaines de blogs
à ce sujet ici sur Medium, y compris un que j’ai fait il y a quelques
semaines et vous pouvez le trouver ici. Voici ce que dit le site Web de
PyCaret à ce sujet:

PyCaret est une bibliothèque d’apprentissage automatique


open source et low-code en Python qui vous permet de passer
de la préparation de vos données au déploiement de votre
modèle en quelques minutes dans l’environnement de votre
choix d’ordinateur portable.
À propos, PyCaret a, de loin, le meilleur site Web parmi les
bibliothèques de ce blog et l’un des meilleurs que j’ai jamais vu. Ils
ont des tutoriels détaillés montrant toutes les fonctions que cette
bibliothèque doit fournir. Voyons maintenant comment utiliser
PyCaret.

Tout d’abord, nous devons installer PyCaret. Pour ce faire, vous


pouvez taper dans votre terminal. La partie complète du code inclut
toutes les dépendances. Il est fortement recommandé d’utiliser un
environnement différent pour être en sécurité. Ensuite, nous avons
besoin d’un ensemble de données. PyCaret a plusieurs bibliothèques
intégrées. Je ne vais pas les passer en revue, mais si vous voulez en
savoir plus à leur sujet, vous pouvez consulter ce blog. Quelque chose
de très cool à propos de PyCaret est qu’il est livré avec QuickDA
inclus. Ce qui facilite la compréhension de notre ensemble de
données. Si vous voulez en savoir plus sur QuickDA, vous pouvez
consulter ce blog: Économisez des heures de travail en faisant un
EDA complet avec quelques lignes de code avec cette bibliothèque

Maintenant, passons toute la partie traitement des données et


passons directement à la modélisation. Le site Web de PyCaret
contient plusieurs exemples de prétraitement de données, et je vous
recommande fortement de le consulter. Cependant, la partie la plus
intéressante de PyCaret est que nous allons exécuter de nombreux
modèles et scores pour chacun des modèles avec une ligne de code.

Pour exécuter tous les modèles, vous devez taper , et c’est tout. Cette
fonction entraînera tous les modèles de la bibliothèque et les notera
à l’aide de la validation croisée pour la validation métrique.
Maintenant, vous pourriez demander: où va le jeu de données dans
cette ligne de code? Je ne sais pas, mais si vous le découvrez, faites-le
moi savoir. Voyons les résultats

Comme nous pouvons le voir ci-dessus, nous venons d’exécuter 15


modèles avec une ligne de code. Il y a même un XGBoost là-dedans.
Il semble que cela n’ait pas fonctionné, mais nous avons quatorze
autres modèles à analyser. Tous ces modèles ont été exécutés en 3:23
minutes. Ok, si nous nous concentrons sur le score de précision pour
ce projet, l’analyse discriminante linéaire était le meilleur modèle.
Habituellement, j’utiliserais F1 Score, mais à des fins de
démonstration, j’utiliserai la précision. Maintenant, pouvons-nous
hyperrégler ce modèle? La réponse est oui, et c’est aussi simple que
d’exécuter tous ces modèles.
Et voilà. La précision est passée de .8206 à .8213. Certaines
personnes diraient que c’est négligeable, mais gardez à l’esprit que
vous venez de taper 20 caractères pour obtenir cette amélioration. Il
y a beaucoup plus à couvrir lorsque nous parlons de PyCaret. Ceci est
une introduction, et je vous recommande fortement de consulter leur
site Web et de l’essayer.

TPOT

TPOT est une bibliothèque automatisée d’apprentissage


automatique. Son objectif est d’automatiser la partie la plus
fastidieuse d’un projet de machine learning, telle que le
prétraitement des fonctionnalités, la sélection des fonctionnalités, la
sélection des modèles, etc. C’est comme avoir quelqu’un qui fait le
travail pour vous. L’image ci-dessous illustre le processus TPOT.

Voici ce que dit son site Web à ce sujet:

TPOT est destiné à être un assistant qui vous donne des idées
sur la façon de résoudre un problème particulier
d’apprentissage automatique en explorant des configurations
de pipeline que vous n’avez peut-être jamais envisagées, puis
laisse le réglage fin à des techniques de réglage de paramètres
plus contraintes telles que la recherche de grille.

Différent de PyCaret, TPOT n’a pas été fait pour fonctionner en


quelques secondes. Au lieu de cela, cela prend plusieurs minutes
(selon votre jeu de données, cela peut prendre des heures) pour vous
donner les meilleurs résultats. Leur paramètre par défaut est de 100
générations avec 100 tailles de population. Si je l’exécute sur mon
MacBook Pro Intel 2019, cela prendra plusieurs heures ou jours.
Ainsi, je ne dirigerai qu’une seule génération à des fins de
démonstration. Par conséquent, j’obtiendrai un pipeline. Ce ne sera
pas le meilleur possible, mais il aura probablement une bonne
précision. Pour installer TPOT, vous devez taper votre terminal.
N’oubliez pas d’utiliser un environnement différent.pip install tpot

J’utiliserai le même jeu de données que celui que j’ai utilisé avec la
démonstration PyCaret. Nous devons former un ensemble de test
pour TPOT, tout comme vous le feriez avec scikit-learn.
# Creating X and y variables
X = data.drop(columns=['default])
y = data['default'] # Train test split
X_train, X_test, y_train, y_test = train_test_split(X, y,
test_size=.2, random_state = 42)

Ok, maintenant nous avons tout ce dont nous avons besoin.


Exécutons maintenant quelques pipelines. Tout d’abord, nous
devons importer les paquets que nous utiliserons. Comme il s’agit
d’un projet de classification, nous importerons le package de
classification de TPOT.
from tpot import TPOTClassifier

Ensuite, je vais configurer l’optimiseur de pipeline. Il existe des


dizaines de paramètres que vous pouvez choisir. TPOT a une bonne
documentation, et vous trouverez facilement des explications pour
chacun des paramètres. J’utilise les plus basiques, mais il est
fortement recommandé pour vous de trouver de meilleurs
paramètres.
# Setting the model up
pipeline_optimizer = TPOTClassifier(generations=1, verbosity=2,
scoring='f1', n_jobs=-1)# Fitting the model
pipeline_optimizer.fit(X_train, y_train)

Image de l’auteur

Après avoir attendu 33 minutes (!), TPOT a renvoyé les résultats ci-
dessus. Nous pouvons voir qu’ils montrent les modèles et les
paramètres pour arriver à ce résultat si vous souhaitez le reproduire.
Comme nous pouvons le voir, le meilleur modèle avait une précision
de .8283 en utilisant un ExtraTreesClassifier. C’est très proche des
résultats que nous avons obtenus avec PyCaret. PyCaret a également
exécuté un classificateur ExtraTree. Cependant, TPOT a pu
hyperrégler les paramètres et obtenir des résultats encore meilleurs.

LazyPredict

LazyPredict est une bibliothèque low-code qui exécute des dizaines


de modèles avec deux lignes de code. Il n’est pas aussi puissant que
ses cousins plus populaires. Cependant, LazyPredict est capable de
renvoyer des modèles de base en quelques secondes! Il n’hyperajuste
pas les modèles. Cependant, vous pouvez facilement répliquer les
modèles à l’aide de scikit-learn.
J’ai écrit pas mal de blogs sur LazyPredict et je n’avais pas l’intention
de parler à nouveau de cette incroyable bibliothèque. Cependant, il
s’agit d’un blog sur l’apprentissage automatique et je ne pouvais pas
sauter LazyPredict. Vous pouvez trouver mes blogs à ce sujet ici, ici
et ici.

Maintenant, laissez-moi vous montrer comment cela fonctionne.


Vous pouvez l’installer en tapant dans votre terminal et vous êtes
prêt à partir. J’utiliserai le même ensemble de données que j’ai
utilisé pour PyCaret et TPOT afin que nous puissions comparer les
résultats. Importons d’abord les packages que nous utiliserons.pip
install lazypredict
# Importing the packages that we will use
import lazypredict
from lazypredict.Supervised import LazyClassifier

Maintenant, faisons tourner 30 modèles! LazyPredict est très


similaire à scikit-learn. Nous devons ajouter le modèle dans une
variable et l’adapter à nos ensembles de données de formation et de
test
# Running all the models
clf = LazyClassifier(verbose=0,ignore_warnings=True)
models, predictions = clf.fit(X_train, X_test, y_train, y_test)
models

Vous aimerez peut-être aussi