Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Trends und Vergleiche beliebter Python-Bibliotheken für maschinelles Lernen

Trends und Vergleiche beliebter Python-Bibliotheken für maschinelles Lernen

WBOY
WBOYnach vorne
2023-04-12 23:52:121109Durchsuche

Python ist eine der beliebtesten Programmiersprachen der Welt mit einer wachsenden Anzahl an Bibliotheken und Frameworks. Schauen Sie sich das Neueste an.

Trends und Vergleiche beliebter Python-Bibliotheken für maschinelles Lernen

Python ist eine der beliebtesten Programmiersprachen der Welt, mit einer wachsenden Anzahl von Bibliotheken und Frameworks zur Erleichterung der KI- und ML-Entwicklung. Es gibt über 250 Bibliotheken in Python, und es kann ein wenig verwirrend sein, zu wissen, welche Bibliothek für Ihr Projekt am besten geeignet ist, und über die technischen Änderungen und Trends, die sie alle mit sich bringen, auf dem Laufenden zu bleiben.

Hier sind die beliebten Python-Bibliotheken für maschinelles Lernen, die ich verwendet habe. Ich habe mein Bestes getan, sie basierend auf den Szenarien, in denen sie verwendet werden, zu kategorisieren. Darüber hinaus gibt es viele Bibliotheken, aber ich kann nicht über die sprechen, die ich nicht verwendet habe. Ich denke, das sind die am häufigsten verwendeten.

NumPy

NumPy ist ein bekanntes Allzweck-Array-Verarbeitungspaket, das sich von anderen Paketen für maschinelles Lernen unterscheidet. Für n-dimensionale Arrays (Vektoren, Matrizen und Matrizen höherer Ordnung) bietet NumPy leistungsstarke (nativ kompilierte) Unterstützung und Unterstützung für eine Vielzahl von Operationen. Es unterstützt vektorisierte Operationen und wandelt insbesondere Python-Ausdrücke in Low-Level-Code-Dispatch um, wobei es implizit eine Schleife über verschiedene Teilmengen der Daten durchläuft.

NumPy-Funktion

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)

Die Start- und Stoppparameter der Funktion sind erforderlich und die von ihnen zurückgegebenen Werte werden innerhalb des vorgegebenen Zeitintervalls gleichmäßig verteilt.

  • numpy.repeat

Verwenden Sie die Methode numpy.repeat(a, Repeats, axis=None), um die Elemente des Arrays zu wiederholen. Die zweite Eingabe wiederholt sich so oft wie angegeben.

  • numpy.random.randint

Funktion numpy.random.randint(low, high=None, size=None, dtype='l ') Gibt eine zufällige Ganzzahl von [niedrig, hoch] zurück. Wenn der hohe Parameter nicht vorhanden ist (keine), wird eine Zufallszahl aus dem Bereich [0, niedrig] ausgewählt.

Warum ist Numpy so beliebt?

Kurz gesagt, der für NumPy optimierte und vorkompilierte C-Code kann die ganze schwere Arbeit bewältigen und ist damit schneller als Standard-Python-Arrays.

NumPy macht viele mathematische Programme, die häufig im wissenschaftlichen Rechnen verwendet werden, schnell und einfach zu verwenden.

Pandas

Pandas entwickelt sich schnell zur am häufigsten verwendeten Python-Datenanalysebibliothek, da es eine schnelle, anpassungsfähige und ausdrucksstarke Verarbeitung von „relationalen“ und „getaggten“ Datendatenstrukturen unterstützt. Es gibt praktische und reale Python-Datenanalyseprobleme, die Pandas erfordern. Pandas bietet eine gründlich optimierte und äußerst zuverlässige Leistung. Für das reine Schreiben von Backend-Code wird ausschließlich C oder Python verwendet.

Einige Pandas-Funktionen

pd.read_csv, pd.read_excel

Die erste zu erwähnende Funktion ist read_csv oder read_excel. Für diese Funktionen wurden klare Erklärungen bereitgestellt. Ich verwende sie, um Daten aus CSV- oder Excel-Dateien in das Pandas DataFrame-Format einzulesen.

df = pd.read_csv("PlayerStat.csv")

.read csv()-Funktion kann auch .txt-Dateien mit der folgenden Syntax lesen:

data = pd.read_csv(file.txt, sep=" ")
  • df.query()
  • #🎜 🎜#
Boolesche Ausdrücke können Daten filtern oder abfragen. Ich kann die Filterkriterien mithilfe einer Abfragefunktion als Zeichenfolge anwenden. Es bietet mehr Freiheiten als viele andere Programme.

df.query("A > 4")

Nur Zeilen zurückgeben, in denen A größer als 4 ist.

    df.iloc()
Ich übergebe den Zeilen- und Spaltenindex als Argumente an die Funktion, die die entsprechende Teilmenge des DataFrame zurückgibt.

    df[‘’].dtypes
Eine weitere sehr einfache und beliebte Funktion. Bevor Sie mit einer Analyse, Visualisierung oder Vorhersagemodellierung beginnen, müssen Sie den Datentyp Ihrer Variablen kennen. Mit dieser Technik können Sie den Datentyp jeder Spalte ermitteln.

    df.dtypes
Pandas vs Vaex

Vaex Python ist eine Alternative zur Pandas-Bibliothek, die Out verwendet Der Core Dataframe berechnet große Datenmengen schneller. Zum Anzeigen und Studieren großer tabellarischer Datensätze ist Vaex ein leistungsstarkes Python-Modul für verzögerte Out-of-Core-Datenrahmen (ähnlich wie Pandas). Mit einfachen Statistiken können mehr als 1 Milliarde Zeilen pro Sekunde berechnet werden. Es unterstützt eine Vielzahl von Visualisierungen und ermöglicht so eine umfassende interaktive Datenexploration.

TensorFlow

TensorFlow ist eine Python-Bibliothek für schnelle numerische Berechnungen, die von Google erstellt und veröffentlicht wurde. Tensorflow verwendet eine andere Sprache und Funktionsnamen als Theano, was den Wechsel von Theano möglicherweise komplizierter macht, als es sein muss. Allerdings funktioniert der gesamte Rechengraph in Tensorflow ähnlich wie der in Theano, mit den gleichen Vor- und Nachteilen. Auch wenn Änderungen am Rechendiagramm erhebliche Auswirkungen auf die Leistung haben, erleichtert die Eval-Funktion von Tensorflow die Beobachtung von Zwischenzuständen nur geringfügig. Tensorflow ist im Vergleich zu Theano und Caffe vor einigen Jahren die bevorzugte Deep-Learning-Technologie.

In TensorFlow integrierte Funktion

    tf.zeros_like
Die Ausgabe dieser Funktion ist ein Tensor mit dem Dieselben Eigenschaften wie die Eingabe. Ein Tensor von Typ und Form, jedoch mit einem Wert von Null.

tensor = tf.constant( I[1, 2, 3], [4, 5, 6]])
tf.zeros_like( tensor) # [ [0, 0, 0], [0, 0,0]

Diese Funktion kann hilfreich sein, wenn Sie aus dem Eingabebild ein schwarzes Bild erstellen. Wenn Sie das Formular direkt definieren möchten, verwenden Sie tf.zeros. Wenn Sie lieber mit 1 statt mit 0 initialisieren möchten, verwenden Sie tf.ones_like.

    tfpad
Fügt den angegebenen Abstand um ihn herum mit einem konstanten Wert hinzu, um die Dimension des Tensors zu erhöhen.

  • tf.enable_eager_execution

这可以在您运行 TensorFlow 应用程序时帮助您。使用 Eager Execution 时,您不需要在会话中构建和运行图。这是有关急切执行的更多信息。

“Eager execution”必须是导入 TensorFlow 后的第一条语句。

TensorFlow 与 PyTorch

Torch 的 Python 实现 Pytorch 得到 Facebook 的支持。它通过提供即时图形编译与上述技术竞争,通过不将图形视为不同和不透明的对象,使 Pytorch 代码与周围的 Python 更加兼容。相反,有许多灵活的技术可以即时构建张量计算。此外,它表现良好。它具有强大的多 GPU 能力,很像 Tensorflow;然而,Tensorflow 仍然适用于更大规模的分布式系统。虽然 Pytorch 的 API 文档齐全,但 Tensorflow 或 Keras 的 API 更加完善。然而,Pytorch 在不影响性能的情况下在灵活性和可用性方面取得了胜利,这无疑迫使 Tensorflow 重新思考和调整。Tensorflow 最近受到 Pytorch 的严重挑战,

Keras

Keras 是一个开源软件库,为人工神经网络提供 Python 接口。由于 Keras 名义上是独立于引擎的,所以理论上 Keras 代码可以被重用,即使引擎需要因性能或其他因素而改变。它的缺点是,当您希望创建非常新颖或专业的架构时,通常需要在 Keras 层下使用 Tensorflow 或 Theano。这主要发生在您需要使用复杂的 NumPy 索引时,这对应于 Tensorflow 中的聚集/分散和 Theano 中的 set/inc 子张量。

Keras 函数

  • 评估与预测

在 Keras 中,evaluate() 和 predict() 都可用。这些技术可以利用 NumPy 数据集。当数据经过测试后,我完成了对结果的评估。我使用这些技术来评估我们的模型。

  • Keras 中的图层

每个 Keras 层都包含许多技术。这些层有助于构建、配置和训练数据。密集层有助于操作实现。我使用 flat 展平了输入。Dropout 启用输入丢失。我可以使用重塑工具重塑输出。我使用输入启动了一个 Keras 张量。

您可以获得中间层的输出。

一个相当简单的库是 Keras。它使得从层的中间层获取输出成为可能。您可以轻松地向现有层添加一个新层,以帮助您在中间获得输出。

Theano

Theano 是一个 Python 库和优化编译器,用于操作和评估数学表达式,尤其是矩阵值表达式。作为最古老和最成熟的,为 Theano 提供了优势和劣势。大多数用户请求的功能都已添加,因为它是旧版本。但是,其中一些实现有点过于复杂且难以使用,因为没有先例可循。该文档是可以通过但模棱两可的。由于没有简单的方法来检查中间计算,因此在 Theano 中让复杂的项目正常运行可能非常具有挑战性。他们通常使用调试器或通过查看计算图来进行调试。

Theano 函数

  • 声明变量

我用 dscalar 方法声明了一个十进制标量变量。当下面的语句运行时,它会在您的程序代码中添加一个名为 C 的变量。

C = tensor.dscalar()
  • 定义 Theano 函数

该函数接受两个参数,第一个是输入,第二个是函数的输出。根据下面的声明,第一个参数是一个包含 C 和 D 两项的数组。结果是一个标量单位,指定为 E。

f = theano.function([C,D], E)

结论

我见过一个高技能的 Python 程序员迅速掌握新库的精妙之处并了解如何使用它。但是,无论是初学者、中级还是专家,选择一种编程语言还是在这种情况下选择一个库而不是另一个库,很大程度上取决于您项目的目标和需求。

Das obige ist der detaillierte Inhalt vonTrends und Vergleiche beliebter Python-Bibliotheken für maschinelles Lernen. 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