Neuf bibliothèques Python super utiles pour la science des données

PHPz
Libérer: 2023-04-17 09:25:08
avant
991 Les gens l'ont consulté

Dans cet article, nous examinerons certaines bibliothèques Python pour les tâches de science des données autres que les plus courantes comme panda, scikit-learn et matplotlib. Bien que des bibliothèques comme panda et scikit-learn soient couramment utilisées dans les tâches d'apprentissage automatique, il est toujours utile de comprendre d'autres produits Python dans ce domaine.

1. Wget

Extraire des données d'Internet est l'une des tâches importantes d'un data scientist. Wget est un utilitaire gratuit qui peut être utilisé pour télécharger des fichiers non interactifs depuis Internet. Il prend en charge les protocoles HTTP, HTTPS et FTP, ainsi que la récupération de fichiers via le proxy HTTP. Comme il n'est pas interactif, il peut fonctionner en arrière-plan même si l'utilisateur n'est pas connecté. Ainsi, la prochaine fois que vous souhaiterez télécharger toutes les images d’un site Web ou d’une page, wget pourra vous aider.

Installation :

$ pip install wget
Copier après la connexion

Exemple :

import wget
url = 'http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3'

filename = wget.download(url)
100% [................................................] 3841532 / 3841532

filename
'razorback.mp3'
Copier après la connexion

2. Pendulum

Pour ceux qui sont frustrés face à la date et à l'heure en python, Pendulum est fait pour vous. Il s'agit d'un package Python qui simplifie les opérations datetime. Il s'agit d'un simple remplacement des classes natives de Python. Consultez la documentation pour un apprentissage plus approfondi.

Installation :

$ pip install pendulum
Copier après la connexion

Exemple :

import pendulum

dt_toronto = pendulum.datetime(2012, 1, 1, tz='America/Toronto')
dt_vancouver = pendulum.datetime(2012, 1, 1, tz='America/Vancouver')

print(dt_vancouver.diff(dt_toronto).in_hours())

3
Copier après la connexion

3. apprentissage déséquilibré

On peut voir que la plupart des algorithmes de classification fonctionnent mieux lorsque le nombre d'échantillons dans chaque classe est fondamentalement le même, c'est-à-dire que les données doivent être équilibré. Cependant, la plupart des cas réels sont des ensembles de données déséquilibrés, qui ont un impact important sur la phase d’apprentissage et les prédictions ultérieures de l’algorithme d’apprentissage automatique. Heureusement, cette bibliothèque est conçue pour résoudre ce problème. Il est compatible avec scikit-learn et fait partie du projet scikit-lear-contrib. Essayez de l'utiliser la prochaine fois que vous rencontrerez un ensemble de données déséquilibré.

Installation :

$ pip install -U imbalanced-learn

# 或者

$ conda install -c conda-forge imbalanced-learn
Copier après la connexion

Exemple :

Veuillez vous référer à la documentation pour l'utilisation et les exemples.

4. FlashText

Dans les tâches PNL, le nettoyage des données textuelles nécessite souvent le remplacement de mots-clés dans des phrases ou l'extraction de mots-clés à partir de phrases. Généralement, cela peut être fait à l'aide d'expressions régulières, mais cela peut devenir fastidieux si le nombre de termes recherchés se chiffre en milliers. Le module FlashText de Python est basé sur l'algorithme FlashText et offre une alternative adaptée à cette situation. L'avantage de FlashText est que la durée d'exécution est la même quel que soit le nombre de termes de recherche. Vous pouvez en savoir plus ici.

Installation :

$ pip install flashtext
Copier après la connexion

Exemple :

Extraire des mots-clés

from flashtext import KeywordProcessor
keyword_processor = KeywordProcessor()

# keyword_processor.add_keyword(<unclean name>, <standardised name>)

keyword_processor.add_keyword('Big Apple', 'New York')
keyword_processor.add_keyword('Bay Area')
keywords_found = keyword_processor.extract_keywords('I love Big Apple and Bay Area.')

keywords_found
['New York', 'Bay Area']
Copier après la connexion

Remplacer des mots-clés

keyword_processor.add_keyword('New Delhi', 'NCR region')

new_sentence = keyword_processor.replace_keywords('I love Big Apple and new delhi.')

new_sentence
'I love New York and NCR region.'
Fuzzywuzzy
Copier après la connexion

5. fuzzywuzzy

Le nom de cette bibliothèque semble étrange, mais lorsqu'il s'agit de correspondance de chaînes, fuzzywuzzy est une bibliothèque très utile. Des opérations telles que le calcul du degré de correspondance de chaîne et du degré de correspondance de jeton peuvent être facilement mises en œuvre, et les enregistrements stockés dans différentes bases de données peuvent également être facilement mis en correspondance.

Installation :

$ pip install fuzzywuzzy
Copier après la connexion

Exemples :

from fuzzywuzzy import fuzz
from fuzzywuzzy import process

# 简单匹配度

fuzz.ratio("this is a test", "this is a test!")
97

# 模糊匹配度
fuzz.partial_ratio("this is a test", "this is a test!")
 100
Copier après la connexion

Des exemples plus intéressants peuvent être trouvés dans le référentiel GitHub.

6. PyFlux

L'analyse des séries chronologiques est l'un des problèmes les plus courants dans le domaine de l'apprentissage automatique. PyFlux est une bibliothèque open source en Python conçue pour travailler avec des problèmes de séries chronologiques. La bibliothèque possède une excellente collection de modèles de séries chronologiques modernes, notamment les modèles ARIMA, GARCH et VAR. En bref, PyFlux propose une approche probabiliste de la modélisation de séries chronologiques. Ça vaut le coup d'essayer.

Installation

pip install pyflux
Copier après la connexion

Exemples

Veuillez vous référer à la documentation officielle pour une utilisation détaillée et des exemples.

7. Ipyvolume

L'affichage des résultats est également un aspect important de la science des données. Pouvoir visualiser les résultats sera un grand avantage. IPyvolume est une bibliothèque Python qui peut visualiser des volumes et des graphiques tridimensionnels (tels que des nuages ​​de points tridimensionnels, etc.) dans les notebooks Jupyter et ne nécessite qu'une petite quantité de configuration. Mais il en est encore au stade de la version pré-1.0. Une métaphore plus appropriée à expliquer est la suivante : le volshow d'IPyvolume est aussi utile pour les tableaux tridimensionnels que l'imshow de matplotlib l'est pour les tableaux bidimensionnels. Plus disponible ici. R Utilisez PIPre

$ pip install ipyvolume
Copier après la connexion
E

pour utiliser Conda/Anaconda

rreee

Exemple

Animation

Dessin corporel Neuf bibliothèques Python super utiles pour la science des données

8. DashNeuf bibliothèques Python super utiles pour la science des données

dash est un framework Python efficace pour créer une application Web. Il est conçu sur la base de Flask, Plotly.js et React.js et est lié à de nombreux éléments d'interface utilisateur modernes tels que des listes déroulantes, des curseurs et des graphiques. Vous pouvez directement utiliser le code Python pour écrire une analyse pertinente sans avoir à utiliser javascript. Dash est idéal pour créer des applications de visualisation de données. Ces applications peuvent ensuite être rendues dans un navigateur Web. Le guide d'utilisation est disponible ici.

Installation

$ conda install -c conda-forge ipyvolume
Copier après la connexion

Exemple L'exemple ci-dessous montre un graphique hautement interactif avec une fonctionnalité déroulante. Lorsque l'utilisateur sélectionne une valeur dans le menu déroulant, le code de l'application exporte dynamiquement les données de Google Finance vers un Panda DataFrame.

Neuf bibliothèques Python super utiles pour la science des données

九、Gym

OpenAI 的 Gym 是一款用于增强学习算法的开发和比较工具包。它兼容任何数值计算库,如 TensorFlow 或 Theano。Gym 库是测试问题集合的必备工具,这个集合也称为环境 —— 你可以用它来开发你的强化学习算法。这些环境有一个共享接口,允许你进行通用算法的编写。

安装

pip install gym
Copier après la connexion

例子这个例子会运行CartPole-v0环境中的一个实例,它的时间步数为 1000,每一步都会渲染整个场景。

总结

以上这些有用的数据科学 Python 库都是我精心挑选出来的,不是常见的如 numpy 和 pandas 等库。如果你知道其它库,可以添加到列表中来,请在下面的评论中提一下。另外别忘了先尝试运行一下它们。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal