
Python est l'un des langages de programmation les plus populaires. La raison en est sa polyvalence, car il s'agit d'un outil polyvalent avec la possibilité de "l'affûtage" pour une variété de besoins. Aujourd'hui, nous publions une sélection décrivant 10 outils utiles pour un scientifique des données et un spécialiste de l'IA.
Apprentissage automatique, réseaux de neurones, Big-data sont une tendance de plus en plus croissante, ce qui signifie que de plus en plus de spécialistes sont nécessaires. La syntaxe Python est mathématiquement précise, de sorte qu'elle est comprise non seulement par les programmeurs, mais aussi par tous ceux qui sont impliqués dans les sciences techniques, c'est pourquoi tant de nouveaux outils sont créés dans ce langage.
Skillbox recommande: Le cours pratique de Python Developer from scratch .
Nous vous rappelons: pour tous les lecteurs de «Habr» - une remise de 10 000 roubles lors de l'inscription à un cours Skillbox en utilisant le code promo «Habr».
Mais assez pour décrire les vertus de Python, passons enfin à notre sélection.
Outils d'apprentissage machine
Shogun est une solution d'apprentissage automatique axée sur les machines à vecteurs de support (SVM). Il est écrit en C ++. Shogun propose une large gamme de méthodes d'apprentissage machine unifiées, basées sur des algorithmes fiables et compréhensibles.
Le shogun est bien documenté. Parmi les lacunes, on peut appeler la complexité relative du travail avec l'API. Distribué gratuitement.
Keras est une API de réseau neuronal de haut niveau qui fournit une bibliothèque d'apprentissage en profondeur pour Python. C'est l'un des meilleurs outils pour ceux qui commencent leur carrière en tant que spécialiste de l'apprentissage automatique. Comparé à d'autres bibliothèques, Keras est beaucoup plus compréhensible. Les frameworks Python populaires tels que TensorFlow, CNTK ou Theano peuvent fonctionner avec.
Les 4 principes clés qui sous-tendent la philosophie de Keras sont la convivialité, la modularité, l'extensibilité et la compatibilité Python. Parmi les lacunes, on peut appeler une vitesse relativement lente par rapport à d'autres bibliothèques.
Scikit-Learn est un outil open source pour l'exploration et l'analyse de données. Il peut également être utilisé en science des données. L'API de l'outil est pratique et pratique; elle peut être utilisée pour créer un grand nombre de services. L'un des principaux avantages est la rapidité du travail: Scikit-Learn bat simplement des records. Les principales caractéristiques de l'outil sont la régression, le clustering, la sélection de modèle, le prétraitement, la classification.
Pattern est un module d'exploration de données Web qui offre des possibilités de collecte de données, de traitement du langage, d'apprentissage automatique, d'analyse de réseau et de diverses visualisations. Il est bien documenté et est livré avec 50 cas, ainsi que 350 tests unitaires. Et il est libre!
Theano est nommé d'après l'ancien philosophe et mathématicien grec, qui a donné au monde beaucoup de choses utiles. Les principales fonctions de Theano sont l'intégration avec NumPy, l'utilisation transparente des ressources GPU, la vitesse et la stabilité, l'auto-vérification, la génération dynamique de code C. Parmi les lacunes, on peut mentionner l'API relativement complexe et la vitesse plus lente par rapport à d'autres bibliothèques.
Outils de science des données
SciPy est un écosystème basé sur Python de logiciels open source pour les mathématiciens, les informaticiens et les ingénieurs. SciPy utilise divers packages comme NumPy, IPython, Pandas, ce qui vous permet d'utiliser des bibliothèques populaires pour résoudre des problèmes mathématiques et scientifiques. Cet outil est une excellente fonctionnalité si vous devez afficher des données informatiques sérieuses. Et il est libre.
Dask est une solution qui permet le parallélisme des données dans l'analyse grâce à l'intégration avec des packages tels que NumPy, Pandas et Scikit-Learn. Avec Dask, vous pouvez rapidement paralléliser le code existant en modifiant seulement quelques lignes. Le fait est que son DataFrame est le même que dans la bibliothèque Pandas, et NumPy travaillant avec lui a la capacité de paralléliser les tâches écrites en Python pur.
Numba est un compilateur open source qui utilise le framework de compilateur LLVM pour compiler la syntaxe Python en code machine. Le principal avantage de travailler avec Numba dans des applications pour la recherche scientifique peut être appelé sa vitesse lors de l'utilisation de code avec des tableaux NumPy. Comme Scikit-Learn, Numba convient à la création d'applications d'apprentissage automatique. Il convient de noter que les solutions basées sur Numba fonctionneront particulièrement rapidement sur des équipements conçus pour des applications d'apprentissage automatique ou de recherche.
High-Performance Analytics Toolkit (
HPAT ) est un framework basé sur un compilateur pour le Big Data. Il adapte automatiquement les programmes analytiques, ainsi que les programmes d'apprentissage automatique, au niveau de performance des services cloud et peut optimiser certaines fonctions à l'aide du décorateur
jit .
Cython est le meilleur choix pour travailler avec du code mathématique. Cython est un traducteur de code source basé sur Pyrex qui vous permet d'écrire facilement des extensions C pour Python. De plus, avec la prise en charge de l'intégration avec IPython / Jupyter, le code écrit à l'aide de Cython peut être utilisé dans Jupyter avec des annotations intégrées, comme tout autre code Python.
Les outils ci-dessus sont presque parfaits pour les scientifiques, les programmeurs et toute personne liée à l'apprentissage automatique et au Big Data. Et bien sûr, il convient de rappeler que ces outils sont affinés sous Python.
Skillbox recommande: