L'apprentissage automatique est devenu aujourd'hui un centre de discussion dans le domaine de l'intelligence artificielle. Il touche tous les domaines, y compris l'ingénierie, la médecine, les affaires, les sciences sociales, etc.
En utilisant de nombreuses bibliothèques d'apprentissage automatique disponibles dans de nombreux endroits, il est devenu Apprendre la machine L'utilisation de Python, C++, Java, Julia et R, entre autres, est plus facile que jamais. Voici quelques bibliothèques d'apprentissage automatique populaires avec lesquelles vous pouvez commencer si vous souhaitez vous aventurer dans ce cheminement de carrière prometteur.
Liens rapides
1. Kéras
Préparer Keras Fait partie des outils complets d'apprentissage automatique de TensorFlow. Mais c'est différent en ce sens qu'il s'agit d'une API de niveau supérieur fournie avec TensorFlow. De plus, il est plus convivial et son code est programmé en Python. Par conséquent, il est plus exploitable car il fournit une documentation concise facile à compiler pour les débutants en apprentissage automatique.
Cependant, Keras propose une large gamme de fonctions de machine learning, idéales pour s'entraîner aussi bien sur des données structurées que sur des supports bruts. Cependant, la bibliothèque s'étend sur des algorithmes de texte et d'image pour la formation et le test de votre ensemble de données.
Une caractéristique unique de Keras est qu'il vous permet de rester concentré sur la bibliothèque, car il fournit tout ce dont vous avez besoin pour votre projet en un seul morceau. Vous n'aurez donc pas besoin de vous diversifier pour emprunter des utilitaires à d'autres bibliothèques. Le réglage des hyperparamètres, la sélection de fonctionnalités, les couches de prétraitement de données riches et le nettoyage des données sont quelques-unes de ses fonctionnalités intégrées étonnantes.
Avec Keras, vous pouvez lire des images et du texte directement à partir des dossiers divisés du répertoire d'origine et en obtenir un ensemble de données étiquetées. Et si vos données sont volumineuses et n'existent pas dans la mémoire de votre appareil, Keras offre l'option d'un objet de jeu de données hautes performances. Vous pouvez toujours passer à cela.
En plus de ce qu'il fournit, il utilise diverses unités de traitement graphique (GPU) pour traiter un grand ensemble de données. Il vous permet donc d'effectuer des calculs CPU simultanément avec un traitement GPU de manière asynchrone.
2. Flux tenseur
A été présenté TensorFlow Développé par Google en 2015, et c'est plus un framework qu'une bibliothèque. Il est open source construit avec C++ et fonctionne en traçant des graphiques de flux de données.
TensorFlow est très polyvalent et complet, et offre de nombreuses autres bibliothèques intégrées et un module pour exécuter des calculs d'apprentissage automatique. Fondamentalement, TensorFlow offre une plate-forme évolutive pour la création de concepts d'apprentissage automatique tels que les réseaux de neurones artificiels (ANN), les réseaux de neurones profonds et l'apprentissage en profondeur.
Tensorflow prend également en charge Java, C++, Julia, Rust, Ruby et JavaScript, entre autres, en plus de Python. Lorsque vous utilisez TensorFlow avec des langages de programmation autres que Python, vous pouvez fournir une intégration de projet facile, et l'utilisation de cœurs avec Python est plus facile car elle prend en charge l'intégralité de l'application TensorFlow.
De plus, les chemins de développement dans d'autres langues peuvent entraîner des problèmes de compatibilité de version d'API si vous devez changer de version ultérieurement. Bien que la documentation TensorFlow soit complète, contrairement à Keras, elle peut être trop diversifiée pour qu'un débutant puisse la comprendre. Cependant, il bénéficie d'un solide soutien de la communauté et vous trouverez également de nombreux exemples TensorFlow open source.
L'avantage de TensorFlow par rapport à Keras est que vous pouvez utiliser TensorFlow directement sans Keras. Bien sûr, vous ne pouvez pas en dire autant de Keras, car il s'agit d'une branche de TensorFlow lui-même.
3. Mlib Étincelle
C'est une option très utile d'Apache Spark. . est sorti Étincelle Mlib Et rendu open source en 2010, il utilise des calculs itératifs pour exécuter des algorithmes d'apprentissage automatique. En raison de sa nature itérative, Mlib peut tirer parti de Hadoop ou de sources de données et de workflows locaux. De plus, il est capable d'exécuter une logique complexe dans un court laps de temps.
En fin de compte, c'est toujours l'une des bibliothèques d'apprentissage automatique les plus rapides du marché. Il exécute une large gamme d'algorithmes d'apprentissage automatique, y compris des modèles de régression, de clustering, de classification et de recommandation. Il excelle également en termes de prétraitement des données et d'exploration de modèles.
La bibliothèque est dynamique et fournit une API puissante qui se connecte à Scala, Python, R et Java. Mlib Spark fait partie de Spark lui-même, il est donc mis à niveau à chaque version de Spark.
Mlib Spark a une documentation explicative, de sorte que même les débutants peuvent la récupérer facilement. Mais quelques inconvénients sont qu'il ne s'intègre qu'à quelques langages de programmation, cela peut donc être un problème si vous n'êtes pas familier avec les langages qu'il prend actuellement en charge.
4.mlpack
A été libéré mlpack en 2008 et développé avec C++ et en utilisant une bibliothèque d'algèbre linéaire appelée Armadillo. Comme Mlib Spark, il vous permet d'appliquer la plupart des algorithmes et des concepts d'apprentissage automatique disponibles directement à votre ensemble de données à l'aide de lignes de code concises et lisibles.
En plus d'être disponible dans des langages de programmation tels que Python, C++, Go et Julia, il prend également en charge l'implémentation CLI, ce qui vous permet d'exécuter votre code et de recevoir des réponses instantanées. Bien qu'il prenne en charge la liaison avec ces autres langages, l'exécution de mlpack sur de grands ensembles de données nécessitant des calculs complexes peut ne pas être une bonne idée lorsqu'elle est utilisée avec un autre langage de programmation. Ainsi, l'évolutivité avec d'autres langages que C++ est souvent un problème avec mlpack.
Si vous êtes nouveau Apprendre la machine Et familier avec C++, vous pouvez toujours l'essayer. La documentation contient des guides faciles à suivre et des exemples disponibles pour différents langages de programmation. Parce qu'il exécute des opérations arithmétiques sur des concepts C++, mlpack utilise du code de bas niveau pour effectuer rapidement des tâches d'apprentissage automatique complexes à simples.
5. Pytorche
La bibliothèque Pytorch a été développée et publiée officiellement par Facebook en 2016. Qui est célèbre pour son utilisation intensive dans la vision par ordinateur, l'apprentissage en profondeur et le traitement du langage naturel, Pytorche Il s'agit d'une bibliothèque open source construite à partir du framework Torch.
Comme Keras et Tensorflow, Pytorch prend en charge le traitement CPU des ensembles de données. Et si votre ensemble de données est volumineux, il dispose d'un GPU pour gérer vos calculs. De plus, cela dépend du tendeur.
En plus de Python, la bibliothèque prend en charge la liaison pour C++ et Java. En plus d'autres utilitaires, Pytorch propose des sous-bibliothèques, notamment torchvision, torchtext, torchaudio et TorchServe.
Ces bibliothèques font partie des fonctions d'apprentissage automatique de Pytorch et vous les rencontrerez lors de l'écriture de vos propres modèles Pytorch. Avec une documentation détaillée et complète basée sur des tutoriels, Pytorch est facile à comprendre, tant que vous êtes familiarisé avec les concepts d'apprentissage automatique.
Pytorch vous permet également de convertir vos ensembles de données dans un format convivial. C'est donc aussi une bibliothèque idéale pour le pré-traitement des données. L'extraction de fonctionnalités, le nettoyage des données, le fractionnement des données et le réglage des hyper paramètres sont toujours possibles avec Pytorch.
6. Scikit-Apprendre
il a été construit scikit-apprendre utilisant Python de manière immersive et a été rendu public en 2010. Cependant, la bibliothèque sert un large éventail d'applications d'apprentissage automatique, y compris la modélisation d'ensembles de données sans caractéristiques et non caractérisés.
Scikit-Learn propose des algorithmes modérés familiers, notamment des modèles de régression linéaire et logistique, une machine à vecteurs de support (SVM), Naive Bayes, des arbres de décision et des voisins les plus proches, entre autres, directement. C'est également une ressource riche pour les méthodes d'apprentissage non supervisées telles que le clustering, le modèle gaussien, ainsi que les modèles de réseaux neuronaux, etc.
En substance, scikit-learn prend en charge les modèles supervisés et non supervisés. C'est un excellent point de départ si vous êtes encore nouveau Python Ou l'apprentissage automatique en général car il est entièrement basé sur Python. Et si vous débutez avec l'apprentissage automatique ou la science des données, vous voudrez peut-être commencer avec les fonctionnalités d'apprentissage supervisé de scikit-Learn.
En général, il convient mieux aux débutants que les autres bibliothèques de cette liste. Contrairement aux autres bibliothèques mentionnées précédemment, scikit-learn s'appuie fortement sur Numpy et Scipy pour effectuer des calculs mathématiques hautes performances. Matplotlib est également utilisé pour fournir des visualisations de narration convaincantes.
7. Théano
Si vous cherchez une bibliothèque pour vous aider à décomposer des problèmes complexes en algorithmes flexibles, cela peut être Theano est ce que vous voulez. Créée en 2007 par Yoshua Bengio à Montréal, Canada, Theano est une puissante bibliothèque pour gérer des comptes de petite à haute performance.
Comme Scikit-Learn, Theano s'appuie sur Numpy pour effectuer des calculs numériques. La bibliothèque prend en charge les calculs basés sur GPU et génère du code C de bas niveau. Cela accélère les évaluations mathématiques avec Theano, quelle que soit leur taille. De plus, leurs modèles d'apprentissage en profondeur fonctionnent sur des tenseurs.
Avec Theano, vous pouvez convertir votre ensemble de données en virgules flottantes lisibles, binaires ou entières, quel que soit leur type de données brutes. Cependant, vous n'obtiendrez peut-être pas suffisamment de soutien de la communauté. C'est parce que Theano n'est pas aussi populaire que les autres bibliothèques que nous avons mentionnées plus tôt. Cela ne le rend pas moins adapté aux débutants.
Tutoriel facile à comprendre dans les docs. Sa capacité à simplifier des tableaux complexes et à améliorer l'arithmétique infinie le rend idéal pour créer des modèles d'apprentissage automatique évolutifs.
Quelle bibliothèque devriez-vous utiliser pour votre prochain projet d'apprentissage automatique ?
Bien que nous ayons mentionné certaines des bibliothèques d'apprentissage automatique les plus utilisées, trouver la meilleure peut être difficile car elles servent toutes des objectifs très similaires avec seulement quelques différences dans leurs fonctionnalités.
Bien sûr, commencer avec une bibliothèque adaptée aux débutants comme Scikit-Learn ou Keras est utile si vous vous lancez dans le domaine pour la première fois. De plus, choisir délibérément une bibliothèque pour un projet vous aidera à réduire les complexités de votre pipeline de développement. Cela dit, apprendre les bases de l'apprentissage automatique par le biais de cours et de tutoriels est bénéfique. Vous pouvez voir Comment installer et codec Python sur Android à l'aide de Pydroid 3.