Heim  >  Artikel  >  Backend-Entwicklung  >  Neun äußerst nützliche Python-Bibliotheken für die Datenwissenschaft

Neun äußerst nützliche Python-Bibliotheken für die Datenwissenschaft

PHPz
PHPznach vorne
2023-04-17 09:25:08939Durchsuche

In diesem Artikel werden wir uns einige andere Python-Bibliotheken für datenwissenschaftliche Aufgaben ansehen als die gängigeren Bibliotheken wie Panda, Scikit-Learn und Matplotlib. Obwohl Bibliotheken wie Panda und Scikit-Learn häufig für maschinelle Lernaufgaben verwendet werden, ist es immer von Vorteil, andere Python-Produkte in diesem Bereich zu verstehen.

1. Wget

Das Extrahieren von Daten aus dem Internet ist eine der wichtigen Aufgaben eines Datenwissenschaftlers. Wget ist ein kostenloses Dienstprogramm, mit dem nicht interaktive Dateien aus dem Internet heruntergeladen werden können. Es unterstützt die Protokolle HTTP, HTTPS und FTP sowie den Dateiabruf über den HTTP-Proxy. Da es nicht interaktiv ist, kann es im Hintergrund arbeiten, auch wenn der Benutzer nicht angemeldet ist. Wenn Sie also das nächste Mal alle Bilder einer Website oder Seite herunterladen möchten, kann Ihnen wget helfen.

Installation:

$ pip install wget

Beispiel:

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

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

filename
'razorback.mp3'

2. Pendulum

Für diejenigen, die beim Umgang mit Datum und Uhrzeit in Python frustriert sind, ist Pendulum genau das Richtige. Es handelt sich um ein Python-Paket, das Datum/Uhrzeit-Operationen vereinfacht. Es ist ein einfacher Ersatz für die nativen Klassen von Python. Weitere Informationen finden Sie in der Dokumentation.

Installation:

$ pip install pendulum

Beispiel:

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

3. imbalanced-learn

Es ist ersichtlich, dass die meisten Klassifizierungsalgorithmen am besten funktionieren, wenn die Anzahl der Stichproben in jeder Klasse grundsätzlich gleich ist, das heißt, das Datengleichgewicht muss sein gepflegt. Bei den meisten realen Fällen handelt es sich jedoch um unausgeglichene Datensätze, die einen großen Einfluss auf die Lernphase und die nachfolgenden Vorhersagen des Algorithmus für maschinelles Lernen haben. Glücklicherweise ist diese Bibliothek darauf ausgelegt, dieses Problem zu lösen. Es ist mit scikit-learn kompatibel und Teil des scikit-lear-contrib-Projekts. Versuchen Sie es, wenn Sie das nächste Mal auf einen unausgeglichenen Datensatz stoßen.

Installation:

$ pip install -U imbalanced-learn

# 或者

$ conda install -c conda-forge imbalanced-learn

Beispiel:

Nutzung und Beispiele finden Sie in der Dokumentation.

4. FlashText

Bei NLP-Aufgaben erfordert das Bereinigen von Textdaten häufig das Ersetzen von Schlüsselwörtern in Sätzen oder das Extrahieren von Schlüsselwörtern aus Sätzen. In der Regel kann dies mithilfe regulärer Ausdrücke erfolgen. Dies kann jedoch umständlich werden, wenn die Anzahl der gesuchten Begriffe in die Tausende geht. Das FlashText-Modul von Python basiert auf dem FlashText-Algorithmus und bietet für diese Situation eine geeignete Alternative. Das Tolle an FlashText ist, dass die Laufzeit unabhängig von der Anzahl der Suchbegriffe gleich ist. Mehr erfahren Sie hier.

Installation:

$ pip install flashtext

Beispiel:

Schlüsselwörter extrahieren

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']

Schlüsselwörter ersetzen

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

5. Fuzzywuzzy klingt seltsam, aber wenn es um den String-Abgleich geht, ist Fuzzywuzzy eine sehr nützliche Bibliothek. Vorgänge wie die Berechnung des String-Matching-Grades und des Token-Matching-Grades können problemlos implementiert werden, und in verschiedenen Datenbanken gespeicherte Datensätze können ebenfalls problemlos abgeglichen werden.

Installation:

$ pip install fuzzywuzzy

Beispiele:

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

Weitere interessante Beispiele finden Sie im GitHub-Repository.

6. PyFlux

Die Zeitreihenanalyse ist eines der häufigsten Probleme im Bereich des maschinellen Lernens. PyFlux ist eine Open-Source-Bibliothek in Python, die für die Arbeit mit Zeitreihenproblemen entwickelt wurde. Die Bibliothek verfügt über eine hervorragende Sammlung moderner Zeitreihenmodelle, darunter unter anderem ARIMA-, GARCH- und VAR-Modelle. Kurz gesagt bietet PyFlux einen probabilistischen Ansatz zur Zeitreihenmodellierung. Einen Versuch wert.

Installation

pip install pyflux

Beispiele

Detaillierte Informationen zur Verwendung und Beispiele finden Sie in der offiziellen Dokumentation.

7. Ipyvolume

Die Ergebnisanzeige ist auch ein wichtiger Aspekt in der Datenwissenschaft. Die Möglichkeit, die Ergebnisse visualisieren zu können, wird ein großer Vorteil sein. IPyvolume ist eine Python-Bibliothek, die 3D-Volumina und Grafiken (z. B. 3D-Streudiagramme usw.) in Jupyter-Notebooks visualisieren kann und nur einen geringen Konfigurationsaufwand erfordert. Es befindet sich jedoch noch in der Version vor 1.0. Eine passendere Metapher zur Erklärung ist: „Volshow“ von IPyvolume ist für dreidimensionale Arrays genauso nützlich wie „imshow“ von matplotlib für zweidimensionale Arrays. Mehr gibt es hier. R Verwenden Sie PIPre
$ pip install ipyvolume
E

, um Conda/Anaconda zu verwenden. Es basiert auf Flask, Plotly.js und React.js und ist an viele moderne UI-Elemente wie Dropdown-Felder, Schieberegler und Diagramme gebunden. Sie können Python-Code direkt verwenden, um relevante Analysen zu schreiben, ohne Javascript verwenden zu müssen. Dash eignet sich hervorragend zum Erstellen von Datenvisualisierungsanwendungen. Diese Anwendungen können dann in einem Webbrowser gerendert werden. Die Bedienungsanleitung finden Sie hier.

Installation

$ conda install -c conda-forge ipyvolume

Beispiel Das folgende Beispiel zeigt ein äußerst interaktives Diagramm mit Dropdown-Funktionalität. Wenn der Benutzer einen Wert im Dropdown-Menü auswählt, exportiert der Anwendungscode dynamisch Daten von Google Finance in einen Panda DataFrame.

Neun äußerst nützliche Python-Bibliotheken für die Datenwissenschaft

九、Gym

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

安装

pip install gym

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

总结

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

Das obige ist der detaillierte Inhalt vonNeun äußerst nützliche Python-Bibliotheken für die Datenwissenschaft. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen