5 distributions Python pour maîtriser l'apprentissage automatique

Si vous travaillez dans le domaine des statistiques, de la science des données ou de l'apprentissage automatique, il y a de fortes chances que vous utilisiez Python. Et pour cause, aussi: le riche écosystème de bibliothèques et d'outils, et la commodité du langage lui-même, font de Python un excellent choix.

Mais quel Python? Il existe un certain nombre de distributions de la langue, et chacune a été créée selon des lignes différentes et pour différents publics. Ici, nous avons détaillé cinq incarnations Python, des plus génériques aux plus spécifiques, avec des détails sur la façon dont elles s'empilent pour gérer les tâches d'apprentissage automatique.

Vidéo connexe: Comment Python facilite la programmation

Parfait pour l'informatique, Python simplifie de nombreux types de travail, de l'automatisation du système au travail dans des domaines de pointe comme l'apprentissage automatique.

Anaconda Python

Anaconda est devenu une distribution majeure de Python, non seulement pour la science des données et l'apprentissage automatique, mais également pour le développement Python à usage général. Anaconda est soutenu par un fournisseur commercial du même nom (anciennement Continuum Analytics) qui propose des plans de support pour les entreprises. 

La distribution Anaconda fournit avant tout une distribution Python dotée d'un accès facile aux packages souvent utilisés en science des données: NumPy, Pandas, Matplotlib, etc. Ils ne sont pas simplement fournis avec Anaconda, mais disponibles via un système de gestion de paquets personnalisé appelé Conda. Les packages installés par Conda peuvent inclure des dépendances binaires externes délicates qui ne peuvent pas être gérées via le propre Pip de Python. (Notez que vous pouvez toujours utiliser Pip si vous le souhaitez, mais vous n'obtiendrez pas les avantages fournis par Conda pour ces packages.) Chaque package est mis à jour par Anaconda et beaucoup d'entre eux sont compilés avec Intel MKL extensions pour la vitesse.

L'autre avantage majeur qu'Anaconda confère est un environnement graphique, l'Anaconda Navigator. Le Navigator n'est pas un IDE, mais plutôt une interface graphique pratique pour les fonctionnalités d'Anaconda, y compris le gestionnaire de packages Conda et les environnements virtuels configurés par l'utilisateur. Vous pouvez également utiliser Navigator pour gérer des applications tierces telles que les blocs-notes Jupyter et l'IDE de Visual Studio Code.

Une installation minimale d'Anaconda, appelée Miniconda, installe juste assez de la base Anaconda pour vous aider à démarrer, mais peut être étendue avec d'autres packages installés par Conda- ou Pip selon vos besoins. Ceci est utile si vous souhaitez profiter de la riche gamme de bibliothèques d'Anaconda, mais que vous devez garder les choses simples.

ActivePython

La science des données n'est qu'un des cas d'utilisation d'ActivePython, qui a été conçu pour servir d'édition du langage prise en charge par des professionnels avec des implémentations cohérentes sur les architectures et les plates-formes. Cela est utile si vous utilisez Python pour la science des données sur des plates-formes telles que AIX, HP-UX et Solaris, ainsi que Windows, Linux et MacOS.

ActivePython essaie de coller aussi étroitement que possible à l'incarnation de référence originale de Python. Au lieu d'un programme d'installation spécial pour les packages mathématiques et statistiques complexes (l'approche Anaconda), ActivePython pré-compile nombre de ces packages, en utilisant les extensions Intel MKL si nécessaire, et les fournit sous forme de packages avec l'installation par défaut d'ActivePython. Ils n'ont pas besoin d'être officiellement installés; ils sont disponibles dès la sortie de la boîte.

Cependant, si vous souhaitez mettre à niveau vers une version plus récente de ces packages précompilés, vous devrez attendre la sortie de la prochaine version d'ActivePython. Cela rend ActivePython plus cohérent dans son ensemble - une chose précieuse à avoir lorsque la reproductibilité des résultats compte - mais aussi moins flexible.

CPython

Si vous voulez commencer votre travail d'apprentissage automatique à partir de zéro, en n'utilisant rien d'autre que la version officielle et simple de Python, choisissez CPython. Ainsi nommé car il s'agit de l'édition de référence du runtime Python écrit en C, CPython est disponible sur le site Web de Python Software Foundation et ne fournit que les outils nécessaires pour exécuter des scripts Python et gérer les packages.

CPython a du sens si vous souhaitez créer un environnement Python personnalisé pour un projet d'apprentissage automatique ou de science des données, vous vous faites confiance pour le faire correctement et vous ne voulez pas que des modifications tierces vous gênent. La source de CPython est facilement disponible, vous pouvez donc même compiler de manière personnalisée toutes les modifications que vous souhaitez apporter pour des raisons de vitesse ou de besoins du projet.

D'autre part, l'utilisation de CPython signifie que vous devrez gérer les tenants et les aboutissants de l'installation et de la configuration de packages comme NumPy, avec toutes leurs dépendances, dont certaines doivent être recherchées et ajoutées manuellement.

Une partie de ce travail est devenue moins lourde au cours des dernières années, en particulier maintenant que le gestionnaire de packages Pip de Python installe élégamment des binaires précompilés du type utilisé dans de nombreux packages de science des données. Mais il existe encore de nombreux cas, en particulier sur Microsoft Windows, où vous devrez assembler toutes les pièces à la main, par exemple en installant manuellement un compilateur C / C ++.

Un autre inconvénient de l'utilisation de CPython est qu'il n'utilise aucune des options d'accélération des performances utiles dans l'apprentissage automatique et la science des données, telles que les extensions Intel's Math Kernel Library (MKL). Vous devrez créer les bibliothèques NumPy et SciPy pour utiliser Intel MKL tout seul.

Auvent enthousiasmé

La distribution Enthought Canopy de Python ressemble à Anaconda à bien des égards. Il est construit avec la science des données et l'apprentissage automatique comme principaux cas d'utilisation, est livré avec son propre index de package organisé et fournit à la fois des interfaces graphiques et des outils de ligne de commande pour gérer l'ensemble de la configuration. Les utilisateurs d'entreprise peuvent également acheter le serveur de déploiement Enthought, un système de gestion de paquets derrière le pare-feu. Les packages d'apprentissage automatique conçus pour Canopy utilisent les extensions Intel MKL.

La principale différence entre Anaconda et Canopy est la portée. La verrière est plus modeste, Anaconda plus complète. Par exemple, alors que Canopy inclut des outils de ligne de commande pour créer et gérer des environnements virtuels Python (utiles pour gérer différents ensembles de packages pour différents flux de travail d'apprentissage automatique), Anaconda fournit une interface graphique pour ce travail. D'autre part, Canopy comprend également un IDE intégré très pratique - un navigateur de fichiers combiné, un bloc-notes Jupyter et un éditeur de code - qui est utile pour se lancer et se mettre au travail sans problème.

WinPython

La mission originale derrière WinPython était de fournir une édition de Python spécialement conçue pour Microsoft Windows. À l'époque où les builds CPython pour Windows n'étaient pas particulièrement robustes, WinPython occupait un créneau utile. Aujourd'hui, l'édition Windows de CPython est assez bonne, et WinPython s'est tourné vers le comblement des fissures qui ne sont toujours pas pavées par CPython, en particulier pour les applications de science des données et d'apprentissage automatique.

Par défaut, WinPython est portable. L'ensemble de la distribution WinPython tient dans un répertoire unique qui peut être placé n'importe où et s'exécuter n'importe où. Une installation WinPython peut être livrée sous forme d'archive ou sur une clé USB, préinstallée avec toutes les variables d'environnement, packages et scripts nécessaires pour un travail donné. C'est un moyen utile de rassembler tout ce qui est nécessaire pour entraîner un modèle particulier ou reproduire une expérience de données spécifique. Ou vous pouvez enregistrer une installation WinPython avec Windows et l'exécuter comme si elle avait été installée nativement (et la désinscrire plus tard, si vous le souhaitez).

La plupart des éléments les plus délicats d'une distribution Python centrée sur l'apprentissage automatique sont également couverts. La plupart des bibliothèques de clés (NumPy, Pandas, Jupyter et interfaces avec les langages R et Julia) sont incluses par défaut et intégrées aux extensions Intel MKL, le cas échéant. Le compilateur Mingw64 C / C ++ est également fourni avec NumPy dans WinPython, de sorte que les extensions binaires Python peuvent être construites à partir des sources (par exemple, via Cython) sans avoir à installer un compilateur.

WinPython a son propre programme d'installation de package, WPPM, qui gère les packages fournis avec des binaires prédéfinis ainsi que des packages Python pur. Et pour ceux qui veulent juste une version simple de WinPython sans packages inclus par défaut, WinPython propose une «version zéro», dans le même esprit que Miniconda d'Anaconda.

Vidéo connexe: Apprentissage automatique et IA déchiffrés

Brisant le battage médiatique autour de l'apprentissage automatique et de l'intelligence artificielle, notre panel aborde les définitions et les implications de la technologie.