Science des données

Top 10 des bibliothèques d'apprentissage automatique pour Python

Top 10 des bibliothèques d'apprentissage automatique pour Python

Que veux-tu créer? La question importante!

Vous êtes venu ici pour utiliser le Machine Learning (ML) . Avez-vous soigneusement réfléchi à quoi? Lorsque vous choisissez une bibliothèque d'apprentissage automatique, vous devez commencer par la façon dont vous allez l'utiliser. Même si vous êtes simplement intéressé par l'apprentissage, vous devez déterminer où l'apprentissage automatique est utilisé et lequel est le plus proche de votre intérêt principal. Vous devez également déterminer si vous souhaitez vous concentrer sur la mise en route de quelque chose sur votre machine locale ou si vous souhaitez répartir votre informatique sur de nombreux serveurs.

Au début, commencez par faire fonctionner quelque chose.

Où l'apprentissage automatique est utilisé

Vous pouvez trouver de nombreux projets qui utilisent ML, en fait tellement que chaque catégorie est longue de pages. La version courte est 'partout', ce n'est pas vrai mais on commence à se demander. Les plus évidents sont les moteurs de recommandations, la reconnaissance d'images et la détection de spam. Puisque vous programmez déjà en Python, vous serez également intéressé par le logiciel de complétion de code The Kite. Ceci est D'autres utilisations sont pour détecter les erreurs de la saisie manuelle des données, du diagnostic médical et de la maintenance pour les grandes usines et autres industries

Les bibliothèques en bref :

  1. Scikit-apprendre, De scikit; Routines et bibliothèques au-dessus de NumPy, SciPy et Matplotlib. Cette bibliothèque s'appuie directement sur des routines sur les bibliothèques mathématiques natives de Python. Vous installez scikit-learn avec votre gestionnaire de paquets Python habituel. Scikit-learn est petit et ne prend pas en charge les calculs GPU, cela peut vous décourager mais c'est un choix conscient. Ce package est plus petit et plus facile à utiliser. Cela fonctionne toujours assez bien dans des contextes plus larges mais pour faire un gigantesque cluster de calculs, vous avez besoin d'autres packages.
  2. Scikit-image Spécial pour les images! Scikit-image a des algorithmes pour l'analyse et la manipulation d'images. Vous pouvez l'utiliser pour réparer les images endommagées ainsi que pour manipuler la couleur et d'autres attributs de l'image. L'idée principale de ce package est de rendre toutes les images disponibles pour NumPy afin que vous puissiez effectuer des opérations sur elles en tant que ndarrays. De cette façon, vous avez les images disponibles en tant que données pour exécuter n'importe quel algorithme.
  3. Shogun: base C++ avec des interfaces API claires vers Python, Java, Scala, etc. Beaucoup, peut-être la plupart des algorithmes disponibles pour l'expérimentation. Celui-ci est écrit en C++ pour plus d'efficacité, il y a aussi moyen de l'essayer dans le cloud. Shogun utilise SWIG pour s'interfacer avec de nombreux langages de programmation, y compris Python. Shogun couvre la plupart des algorithmes et est largement utilisé dans le monde académique. Le package contient une boîte à outils disponible sur https://www.boîte à outils shogun.organisation.
  4. Spark MLlib: Est principalement pour Java mais est disponible via la bibliothèque NumPy pour les développeurs Python. Le Spark MLlib est développé par l'équipe Apache, il est donc destiné aux environnements informatiques distribués et doit être exécuté avec le maître et les travailleurs. Vous pouvez le faire en mode autonome, mais la véritable puissance de Spark est la possibilité de répartir les tâches sur de nombreuses machines. La nature distribuée de Spark le rend populaire auprès de nombreuses grandes entreprises, comme IBM, Amazon et Netflix. L'objectif principal est d'exploiter le « Big Data », c'est-à-dire toutes ces miettes de pain que vous laissez derrière vous lorsque vous surfez et magasinez en ligne. Si vous souhaitez travailler avec Machine Learning, Spark MLlib est un bon point de départ. Les algorithmes qu'il prend en charge sont répartis sur toute la gamme. Si vous démarrez un projet de loisir, ce n'est peut-être pas la meilleure idée.
  5. H2O: Est destiné aux processus métier et prend donc en charge les prévisions pour les recommandations et la prévention de la fraude. L'entreprise, H20.ai vise à trouver et à analyser des ensembles de données à partir de systèmes de fichiers distribués. Vous pouvez l'exécuter sur la plupart des systèmes d'exploitation conventionnels, mais l'objectif principal est de prendre en charge les systèmes basés sur le cloud. Il comprend la plupart des algorithmes statistiques et peut donc être utilisé pour la plupart des projets.
  6. Cornac: est conçu pour les algorithmes d'apprentissage machine distribués. Il fait partie d'Apache en raison de la nature distribuée des calculs. L'idée derrière Mahout est que les mathématiciens implémentent leurs propres algorithmes. Ce n'est pas pour un débutant, si vous apprenez juste, vous feriez mieux d'utiliser autre chose. Cela dit, Mahout peut se connecter à de nombreux back-ends, donc lorsque vous avez créé quelque chose, regardez si vous souhaitez utiliser Mahout pour votre frontend.
  7. Oryx des Nuées: Principalement utilisé pour le Machine Learning sur des données en temps réel. Oryx 2 est une architecture qui superpose tout le travail pour créer un système capable de réagir aux données en temps réel. Les couches fonctionnent également dans des délais différents, avec une couche par lots qui construit le modèle de base et une couche de vitesse qui modifie le modèle à mesure que de nouvelles données arrivent. Oryx est construit sur Apache Spark et crée une architecture complète qui implémente toutes les parties d'une application.
  8. Théano: Theano est une bibliothèque Python intégrée à NumPy. C'est le plus proche de Python que vous pouvez obtenir. Lorsque vous utilisez Theano, il est conseillé d'installer gcc. La raison en est que Theano peut compiler votre code dans le code le plus approprié possible. Alors que Python est génial, dans certains cas, C est plus rapide. Ainsi, Theano peut convertir en C et compiler, ce qui accélère l'exécution de votre programme. En option, vous pouvez ajouter le support GPU.
  9. Tensorflow: Le tenseur dans le nom pointe vers un tenseur mathématique. Un tel tenseur a 'n' places dans une matrice, cependant, un tenseur est un tableau multidimensionnel. TensorFlow a des algorithmes pour effectuer des calculs pour les Tensors, d'où le nom, vous pouvez les appeler depuis Python. Il est construit en C et C++, mais a une interface pour Python. Cela le rend facile à utiliser et rapide. Tensorflow peut fonctionner sur CPU, GPU ou distribué sur des réseaux, ceci est réalisé par un moteur d'exécution qui agit comme une couche entre votre code et le processeur.
  10. Matplotlib: Lorsque vous avez trouvé un problème que vous pouvez résoudre avec Machine Learning, vous voudrez probablement visualiser vos résultats. C'est là qu'intervient matplotlib. Il est conçu pour afficher les valeurs de tous les graphiques mathématiques et est largement utilisé dans le monde académique.

CONCLUSION

Cet article vous a donné une idée de ce qui est disponible pour programmer dans Machine Learning. Pour avoir une idée claire de ce dont vous avez besoin, vous devez commencer par créer quelques programmes et voir comment ils fonctionnent. Tant que vous ne savez pas comment les choses peuvent être faites, vous pouvez trouver la solution parfaite pour votre prochain projet.

Top 5 des cartes de capture de jeu
Nous avons tous vu et aimé des gameplays en streaming sur YouTube. PewDiePie, Jakesepticye et Markiplier ne sont que quelques-uns des meilleurs joueur...
Comment développer un jeu sur Linux
Il y a dix ans, peu d'utilisateurs de Linux prédisaient que leur système d'exploitation préféré serait un jour une plate-forme de jeu populaire pour l...
Ports Open Source des moteurs de jeux commerciaux
Les récréations de moteur de jeu gratuites, open source et multiplateformes peuvent être utilisées pour jouer à d'anciens ainsi qu'à certains des titr...