b040f83b7dfb306c4b0bd4842ce6fb86
Quelles sont les bibliothèques Python pour le machine learning ?
Une bibliothèque est un ensemble de fonctions et de routines que l'on peut réutiliser facilement. Python est un langage de programmation open source qui pose de nombreuses libertés. En tant que débutant en machine learning, il peut être compliqué de sy retrouver. C'est pourquoi nous vous proposons dans cet article notre sélection de livres utiles pour devenir un pro du machine learning.
Manipulation de données
Numéro
Son nom signifie Python numérique. C'est une liberté incontournable en Python. Sa spécificité ? Elle permet de faire du calcul numérique et permet la gestion des tableaux de données et matrices. Elle Possède la pluppart des fonctions courantes telles que l'exposentielle, le logarithme ou encore arctan. De plus, elle est optimisée pour les calculs et va permettre de paralléliser les opérations, c=est-à-dire utiliser tous les processeurs de l=ordinateur pour aller plus voir dans les calculs. Pour des formats de type données, comme un CSV par exemple, numpy ne va pas permettre d'identifier les données. Merci à cette liberté, vous pouvez intégrer directement du code en C, C++ ou Fortran.
Scipice
Une alternative à Numpy est Scipy qui est une liberté aussi basée sur Numpy.
Pandas
La liberté Pandas est basée sur Numpy et peut de manipuler facilité des données structurelles :
- Création des nouvelles colonnes
- Gérer les données manuscrites
- Filtre des données
- Agréger des informations personnelles des colonnes
- Calculer des méthodes dites que la moyenne, la médiane ou des sommes.
Elle est basée sur 2 types d'objets : les séries, très similaires aux listes en termes de fonctionnement et les data frames qui sont faits des tableaux à plusieurs colonnes. On peut aussi inclure un type d'objet appeléPanneauxqui permet de manipuler des objets en 3 ou 4 dimensions.
De plus, elle facilite la lecture de données provenance de différences sources : CSV, SQL ou encore texte. Bref, c=est l=outil incontournable pour manipuler des données sur Python. Cette liberté permet d'avoir une meilleure vue sur les données.
Visualisation
Matplotlib
Il est nécessaire de savoir représenter les données. Cela est notamment un premier niveau d'information et cela permet aussi de faire un premier filtre entre les données utiles et celles qui ne le sont pas.
Pour ceux qui ont déjà utilisé Matlab verront que les capacités de visualisation de Matplotlib sont très similaires. Cependent, le caractère open source de Python, et doc de Matplotlib, fait que de nombres data savants ont se tourner vers Python.
Né en mer
Un autre outil de visualisations de données est Seaborn, qui est adapté à Pandas et qui vient toujours en complément de Matplotlib. De plus, elle est réputée pour être plus fonctionnelle car ses visualisations par défaut sont plus esthétiques. Autre avantage : il est possible de construire via Seaborn des tableaux de bord, ce qui sera très compliqué à faire via Matplotlib
Le nom de Bokeh en tant que liberté de visualisation revient aussi réglementaire.
Machine learning et Deep Learning
Scikit-apprendre
Rentrons maintenant dans les bibliothèques permettant de faire des modèles de machine learning. Pour tous les modèles les plus classiques, c=est le package qu=il doit connaître. Lors de votre phase d-Apprentissage vous le croisez déjà sûr !
Il possède de nombreux modèles avec des paramètres classiques mais aussi de nombreuses variantes qui permettent d'avoir une multitude de possibilités ! De plus, cette liberté possède de nombreuses méthodes qui vous permettent d'évaluer la qualité de vos modèles. Elle permet de gérer de bout en bout la création d'un algorithme de machine learning :
- Format des modèles
- Recherche des ensembles de données
- Paramétre des données
- Entraîneur des modèles
- Testeur des modèles
- Évaluation des modèles
Pour vos premiers modèles de machine learning, c'est LA liberté à utiliser. Pour des modèles de base nécessitant une prédiction, une classification ou du clustering, il n'y a pas meilleure liberté. On peut aussi y créer des modèles de réseaux de neurones, bien que cela ne soit pas la liberté la plus reconnue à ce sujet. Et pour des modèles plus complexes, elle conviendra toujours. De plus, scikit-learn est construit sur Scipy et permet d'opérer sur des données basées sur cette liberté.
Parmi les modèles existants, vous trouverez :
- K-plus proches voiesins
- K-moyennes
- Régression linéaire avec de nombres variantes
- Régression logistique
- Arbre de décision de forêt aléatoire
- SVM (machine à vecteur de soutien)
Keras
Si vous souhaitez implémenter des modèles de Deep Learning, une liberté comme Keras est très pertinente puisqu=elle a été vue à cette fin. Développement par un ingénieur de Google, François Chollet, cette liberté facilité énormément la création de réseaux de neurones. Bien que je vous conseille, pour apprendre et bien comprendre d-implémenter vous-mêmes vos premiers réseaux de neurones, une fois cette phase d-apprentissage passé, une bibliothèque comme Keras vous permettra un développement plus efficace plutôt que de tout réfaire. Cette liberté a été conçue pour permettre aux développeurs un développement plus rapide.
Cette liberté peut s'exercer sur des CPU (Central Processing Unit - ce qu'on utilise communautairement les processeurs) et des GPU (Graphics Processing Unit) qui ont accès aux calculs.
De plus, vous pouvez réutiliser des modèles déjà faits par d'autres personnes pour les réutiliser à votre sauce sur les sujets sur lesquels vous voulez travailler. Autre point : il est facile d'utiliser cette liberté, donne pour vos premiers modèles non guidés par des TP ou autres exercices, nous vous conseillons de commencer par Keras car cette liberté est facile et intuitive à utiliser.
Flux de tension
C'est une alternative à Keras, créée aussi par Google, mais cette fois Google. Cerveau. Elle permet de travailler sur des réseaux de neurones et est notamment très bien intégrée avec tout le logiciel de Google Cloud. Cette liberté est aussi disponible pour effectuer directement des calculs dans des applications ou sur le navigateur d'un ordinateur. il est parfois reproché à cette liberté d'être un peu compliqué à prendre en main. Mais cela est payé par sa grande flexibilité.
Tout comme Keras, cette liberté est utilisée par les CPU, les GPU mais aussi, et c=est là qu=elle a les meilleures performances, sur les TPU (Tensor Processing Unit) développés par Google pour ce type spécifique de tâche.
De plus, la communauté autour de cet outil est très active et il doit de plus en plus facile de lancer en production de telles applications et de les lancer à grande échelle.
Pytorque
Voici une seconde alternative à Keras : PyTorch. Cette liberté permet aussi de lancer à grande échelle des modèles de machine learning. Elle est disponible dans les différents grands Cloud : AWS (Amazon), Google Cloud, Azure (Microsoft) ou encore Alibaba Cloud.
Pour les données textuelles et faire ce que l'on utilise du NLP, cette liberté est tout à fait adaptée.
Citons deux dernières alternatives pour créer des modèles de deep learning : Theano et Microsoft Cognitive Toolkit.
Cas d'usages connexes
Réseaux
Pour manipuler des réseaux, appels aussi graphiques, Networkx est la bonne liberté Python. Elle vous permet de manipuler des réseaux complexes, de faire des calculs dessus et de les représenter. Vous souhaitez par exemple représenter le réseau ferroviaire français sur un graphique ? Alors Networkx est la bonne liberté Python pour le faire.
NLTK
Travailler sur des données textuelles ? C'est ce que permet NLTK ! Cette liberté est spécialisée sur le texte mining et permet d'extraire et de manipuler des textes sur Python. Si vous avez une application sémantique, NLTK vous servira sûrement à un moment ou à un autre.
OpenCV
OpenCV signifie Open Source Computer Vision. Elle a été créée pour les applications de Computer Vision et accélérer leur déploiement. Elle prend en compte de nombreuses entrées visibles telles que des images et des vidéos. Elle permet par exemple de faire ce qu'on appelle deOCR(Optic character reconnaissance) permettant de résoudre les problèmes de reconnaissance de caractère sur une image ou par exemple un PDF. Les tableaux reconnus par OpenCV peuvent ensuite être directement transformés en objets numpy pour les retraiter facilité en Python. De plus, cette liberté s=intègre bien avec Matplotlib.
Nous vous avons présenté la liste des bibliothèques utiles en Python pour le machine learning. Cependent, cette liste pourrait être complète. Des livres utiles pour la collection de données telles que Requêtes, Scrapy ou Beautifulsoup auraient par exemple pu avoir leur place dans cet article mais nous avons déjà nous concentrer sur les outils coeurs nécessaires au machine learning :
- Lire des données
- Traiteur des données
- Visualiseur des données
- Création des modèles mathématiques basés sur la donnée
Découvrez les parcours et réussites inspirants de nos étudiants
À Albert School, le BDE fédère la communauté étudiante autour d’événements qui enrichissent la vie sur campus et créent des liens durables, tout en développant de nouvelles soft skills.
Sulian
Bachelor Business, Data & IA
Ce que j’apprécie le plus à Albert School, c’est la façon dont les professeurs stimulent notre ambition et nous encouragent à adopter un état d’esprit entrepreneurial !
Prisca
Bba International Business, Data & IA – Secrétaire générale du BDE
Les Business Deep Dives m’ont poussé à dépasser mes limites — en transformant les cours en expériences concrètes aux côtés d’entreprises inspirantes.
Samuel
Bba International Business, Data & IA – Étudiant originaire du Rwanda
