URL: https://linuxfr.org/users/tisaac/journaux/bibliotheques-python-utiles-a-l-analyse-des-donnees Title: Bibliothèques Python utiles à l'analyse des données Authors: tisaac Date: 2019年03月27日T23:14:42+01:00 License: CC By-SA Tags: python, analyse et tensorflow Score: 16 Si vous réalisez des analyses de données à l’aide de Python sans doute connaissez-vous bien et utilisez-vous les bibliothèques pandas, scikit-learn, TensorFlow, Keras, matplotlib et quelques autres. Dans cet [article-là](https://opensource.com/article/18/11/python-libraries-data-science), des bibliothèques un peu moins connues sont présentées avec comment les installer si nécessaire et avec des exemples. Je vous aurais bien traduit l’article, mais je ne suis pas certain qu’il soit en licence libre. Je reprends dans le désordre la liste suggérée par l’article, je vous dis quelques mots sur chacune des bibliothèques et si ce teasing vous met l’eau à la bouche, vous pourrez toujours consulter l’article susmentionné. Néanmoins, vous n’y retrouverez pas toutes les bibliothèques que je mentionne vu que je me suis permis d’en ajouter quelques-unes. Si vous ne connaissez rien à l’analyse des données avec Python (et que cela vous intéresse), je ne peux que vous conseiller [l’excellente dépêche d’un super site consacré à linux](https://linuxfr.org/news/python-pour-les-sciences-une-presentation). _Commençons pas les représentations graphiques._ # Dash [Dash](https://plot.ly/products/dash/) permet la création d’applications web de visualisation avec des menus déroulants, des curseurs et des graphiques à partir de Python sans devoir passer par JavaScript. À mon stade de connaissance, j’ai du mal à voir les différences avec ce que permet [Bokeh](https://bokeh.pydata.org/en/latest/). # IPyvolume Si vous voulez réaliser des représentations en 3D, un coup d’œuil à [IPyvolume](https://ipyvolume.readthedocs.io/en/latest/?badge=latest) est sans doute indiqué. IPyvolume permet de visualiser des volumes ainsi que des glyphes en 3D dans le notebook Jupyter. Pour l’instant, cela semble être une bibliothèque en version bêta, donc potentiellement avec des bugs plus nombreux que pour une bibliothèque mature. # Pyviz [Pyviz](http://pyviz.org/) n’est pas une bibliothèque en soit mais pour ce qui concerne la visualisation, il s’agit certainement d’un portail intéressant à visiter. L’objectif de PyViz est de rendre la visualisation des données en Python plus facile à utiliser, plus facile à apprendre et plus puissante (rien que ça :-)). Vous y trouverez notamment (en anglais) - Des outils qui facilitent l’application des bibliothèques Python de visualisation à vos données. - Un tutoriel complet montrant comment utiliser simultanément les outils disponibles pour effectuer un large éventail de tâches. - Des exemples d'ensembles de données à utiliser. # Chartify Quand Spotify Labs écrit des bibliothèques cela donne [Chartify](https://github.com/spotify/chartify/). Cette bibliothèque est construite sur Bokeh et semble surtout permettre d’utiliser Bokeh de manière plus user friendly et de manière moins fastidieuse. J’imagine que cela se fait au prix de la flexibilité. _Mais peut-être aurais-je dû débuter par des bibliothèques qui aident aux nettoyages des bases de données._ # FlashText Pour assurer un traitement du langage naturel (NLP), un nettoyage préalable des données textuelles est souvent nécessaire notamment en effectuant le remplacement de mots-clés ou l'extraction de mots-clés dans les phrases. Habituellement, de telles opérations peuvent être accomplies avec des expressions régulières, mais elles peuvent devenir laborieuses si le nombre de termes à rechercher se compte par milliers. Le module FlashText de Python fournirait une solution appropriée pour de telles situations. L’avantage principal de FlashText est que le temps d’exécution est le même quel que soit le nombre de termes de recherche (j’ai un peu de mal à y croire mais c’est effectivement [ce qu’il semble prétendre](https://pypi.org/project/flashtext/) en comparant leur performance avec celle de la bibliothèque re). # FuzzyWuzzy [FussyWuzzy](https://github.com/seatgeek/fuzzywuzzy), et plus d'explication en mots [ici](https://chairnerd.seatgeek.com/fuzzywuzzy-fuzzy-string-matching-in-python/), est une bibliothèque utile quand il s'agit d’évaluer des correspondances de chaînes de caractères. FuzzyWuzzy serait également pratique pour comparer des enregistrements conservés dans différentes bases de données. Techniquement, FuzzyWuzzy utilise la [distance de Levenshtein](https://fr.wikipedia.org/wiki/Distance_de_Levenshtein) pour calculer les différences entre les séquences. # Pendulum La gestion des dates en Python vous frustre, peut-être que [Pendulum](https://pendulum.eustace.io/) peut vous aider. C’est une bibliothèque Python pour faciliter les manipulations des dates et des heures. Pour le moment, je n’ai pas été confronté à ce genre de problème, je suis donc bien en peine de mesurer l’intérêt de cette bibliothèque par rapport à la classe Python gérant les dates et heures. _Mais avant de nettoyer les données, peut-être faudrait-il les collecter, non ?_ # Wget [Wget](https://pypi.org/project/wget/) est un utilitaire gratuit pour le téléchargement de fichiers depuis le web. Il prend en charge les protocoles HTTP, HTTPS et FTP, ainsi que la récupération via des proxies HTTP. _Une fois qu’on a de belles données bien nettoyée, on peut établir des modèles._ # Imbalanced-learn La plupart des algorithmes de classification fonctionnent mieux lorsque le nombre d'échantillons dans chaque classe est similaire. Malheureusement dans la vraie vie réelle, les ensembles de données sont souvent déséquilibrés ce qui peut avoir une incidence sur l’efficacité des algorithmes d'apprentissage automatique. [Imbalanced-learn](http://imbalanced-learn.org/en/stable/) a été créée pour s'attaquer à ce problème. Il est compatible avec scikit-learn et fait partie des projets scikit-learn-contrib. # PyFlux L'analyse des séries chronologiques est l'un des problèmes les plus fréquemment rencontrés dans l'apprentissage machine. Si vous souhaitez aborder ce genre de données avec des approches probabilistes (e.a. les modèles ARIMA, GARCH et VAR), [PyFlux](https://github.com/RJT1990/pyflux) est une bibliothèque open source que vous devez considérer (et qui pour info est quelque peu délaissé par son créateur occupé sur d'autres projets). # pyFTS Vous préférez une approche basée sur les [ensembles flous](https://fr.wikipedia.org/wiki/Ensemble_flou) ? [pyFTS](https://pyfts.github.io/pyFTS/) est votre ~~homme~~ bibliothèque. Pour une introduction à l’application des ensembles flous à l’analyse des séries temporelles, vous pouvez consulter ce [blog](https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time-series-dcc6d4eb1b15). # DEAP Si j’en crois [Wikipédia](https://en.wikipedia.org/wiki/DEAP_(software)), [DEAP](https://deap.readthedocs.io/en/master/) (pour Distributed Evolutionary Algorithms in Python) est une bibliothèque de calcul évolutif. Il intègre les structures de données et les outils nécessaires pour mettre en œuvre les techniques de calcul évolutif les plus courantes telles que les algorithmes génétiques, la programmation génétique, les stratégies d’évolution, l’optimisation des essaims de particules, les évolutions différentielles, la circulation et la distribution. Il est développé à l’Université Laval depuis 2009. --------------------------------------------------------- Personnellement, en préparant ce journal, j'ai découvert pas mal de nouvelles bibliothèques qui pourraient m'être utiles dans le futur. J'espère que cela sera aussi votre cas en le lisant.

AltStyle によって変換されたページ (->オリジナル) /