La liste exacte des bibliothèques dont vous aurez besoin dépend de la tâche qui vous intéresse. Pandas en généralest la seule bibliothèque incontournable dont vous avez besoin. Il gère la manipulation des données qui est au cœur de tout projet ML.

En plus de cela, vous devrez également apprendre Scikit learnScikit learn propose la plupart des fonctionnalités dont vous aurez besoin pour configurer votre expérience ML et évaluer vos modèles. La bibliothèque fournit également une large gamme de préprocesseurs nécessaires pour convertir vos données à partir de formats lisibles par l'homme en une seule fois pour une machine conviviale, ainsi que d'autres outils d'aide.

Numpyet ScipyCes deux bibliothèques aident aux manipulations matricielles qui sont au cœur de la plupart des algorithmes de ML. De plus, la plupart des algorithmes de ML fonctionnent avec des tableaux numpy, vous devrez donc vous familiariser avec eux.

Selon le type d'application avec lequel vous travaillez, vous aurez besoin d'une combinaison des bibliothèques suivantes:

  • Bibliothèques pour l'apprentissage en profondeur TensorflowKerasou PyTorchJe recommanderais de commencer par Keras car il est plus convivial pour les débutants que les deux autres. PyTorch est le meilleur pour les utilisateurs intermédiaires, car Tensorflow nécessitera une compréhension approfondie de l'apprentissage en profondeur et de la programmation.
  • Bibliothèques pour NLP NLTKpour le prétraitement de texte, Gensimpour le prétraitement et la modélisation du langage, Spacypour des tâches telles que l'étiquetage des points de vente, le NER, l'analyse des sentiments et autres. AllenNLPest également une bonne bibliothèque pour le marquage et l'analyse. Il peut être utilisé en plus des bibliothèques mentionnées précédemment, mais ce n'est en aucun cas un remplacement.
  • Vision par ordinateur - bien qu'il existe de bien meilleures nouvelles bibliothèques pour la vision par ordinateur, je recommanderai openCV. OpenCV est un outil classique pour le travail avec une grande communauté et de nombreux tutoriels en ligne. Il vous aidera avec les bases telles que le chargement d'images, leur conversion entre différents schémas de couleurs et des fonctions encore plus avancées telles que la détection des contours et des visages.
  • Keras: wrapper de haut niveau autour de TensorFlow
  • Kerasest une bibliothèque d'apprentissage profond de haut niveau populaire qui utilise diverses bibliothèques de bas niveau telles que Tensorflow, CNTK ou Theano sur le backend. Les avantages actuels de Keras sont qu'il est plus mature, dispose d'une plus grande communauté et de nombreux tutoriels prêts à l'emploi.

  • Scikit-learn: meilleure bibliothèque pour les algorithmes de ML classiques
  • Scikit-learnest l'une des bibliothèques ML les plus populaires aujourd'hui. Il prend en charge la plupart des algorithmes classiques d'apprentissage supervisé et non supervisé: régressions linéaires et logistiques, SVM, Naive Bayes, boosting de gradient, clustering, k-means, et bien d'autres. Scikit-learn fournit divers moyens pour le prétraitement des données et les résultats dans l'analyse. Il se concentre principalement sur les algorithmes ML classiques, il a donc un support très limité pour les réseaux de neurones et ne peut pas être utilisé pour les problèmes d'apprentissage profond.

  • Tensorflow: bibliothèque d'apprentissage automatique et d'apprentissage en profondeur
  • Tensorflowest une bibliothèque ML et DL créée par Google. Il prend en charge de nombreux algorithmes ML classiques pour la classification et l'analyse de régression. Le principal avantage de l'utilisation de Tensorflow est qu'il prend en charge les réseaux de neurones et les algorithmes d'apprentissage profond. Il se concentre sur l'efficacité des calculs et prend en charge les calculs CPU, GPU et TPU.


      • Theano is also for Deep Learning
    • Theano is a Python library for numerical computation and similar to NumPy. Theano allows you to define, optimize & evaluate Mathematical expression involving multi dimensional arrays efficiently.


      • Pandas: extraction et préparation des données
      Pandasest une bibliothèque très populaire pour récupérer et préparer des données pour une utilisation ultérieure dans d'autres bibliothèques de ML comme Scikit-learn ou Tensorflow. Il prend en charge de nombreuses opérations complexes différentes sur des ensembles de données. Pandas offre la possibilité de récupérer facilement des données à partir de différentes sources: bases de données SQL, texte, CSV, Excel, fichiers JSON et de nombreux autres formats moins populaires. Pandas propose de nombreuses opérations de type SQL sur des ensembles de données (par exemple, joindre, regrouper, agréger, remodeler, pivoter), mais il dispose également d'un riche ensemble de fonctions statistiques pour effectuer une analyse simple.



      • Matplotlib for data visualization
      A flexible plotting & visualization library, Matplotlib is powerful. It is used by every Data Scientist for creating 2D plots & graphs.

      • Seaborn is another data visualization library

      Seaborn est une bibliothèque de visualisation populaire qui s'appuie sur les fondations Matplotlib. Il est plus facile de générer certains types de tracés, notamment des cartes thermiques, des séries chronologiques et des tracés de violon.

        • Pytorch
        • Pytorch is an easy to use API & integrates smoothly with the Python Data Science stack. It is quite similar to Numpy. Pytorch offers a framework to build computational graphs on the go, and even alter them during runtime. Pytorch is valuable in situations where we do not know how much memory will we need for building a Neural Network. Other benefits include custom data loaders, simplified preprocessors, & multiGPU support.


        • SciPy: scientific computing library
        SciPydispose d'un vaste ensemble d'opérations de calcul scientifique différentes. SciPy est rarement utilisé directement car Scikit-learn s'efforce de fournir une API de plus haut niveau qui couvre tous les besoins de ML. Mais dans de rares cas, vous avez juste besoin d'un algorithme statistique avancé.
        • NumPy: tableaux et bibliothèque d'algèbre linéaire
        NumPyest un composant essentiel de Scikit-learn et de Pandas, vous devez donc absolument en avoir une compréhension de base. Il prend en charge les tableaux et matrices multidimensionnels ainsi que toutes les opérations d'algèbre linéaire de base.