Einführung

Zielgruppe

Dieses Paket soll ML-Entwicklern und Datenwissenschaftlern helfen, datenbankinterne Analysen (von Datenexplorationsfunktionen bis hin zu komplexen ML-Algorithmen) durch einfache Python auszuführen.
Hinweis: Das Paket " nzpyida hieß früher " ibmdbpy4nps.

Bedarf für das Paket " nzpyida

Netezza In-Database Analytics (INZA) ist ein leistungsstarkes und umfassendes Analysepaket, das mehrere SQL-Routinen bietet, die für die meisten ML-Schritte ausreichen. Allerdings sind die Nutzer bei der Auswahl der im Paket enthaltenen Angebote eingeschränkt. So kann es beispielsweise sein, dass Sie für die Lösung eines ML-Problems den neuesten Algorithmus aus Ihrer bevorzugten Python ML-Bibliothek verwenden möchten und nicht die verfügbaren INZA-Algorithmen. Oder Sie möchten eine benutzerdefinierte Transformation auf den Datensatz anwenden, die in INZA nicht verfügbar ist. Hier kommt das Paket ' nzpyida ins Spiel. Sie basiert auf der Netezza Analytics Executable (AE)-Technologie und ermöglicht die Ausführung von benutzerdefiniertem ML-Code direkt in der Datenbank durch einfache Python. Sie sind flexibel (Sie sind nicht eingeschränkt, was die Ausführung innerhalb der Datenbank betrifft) und schnell (Sie führen es nicht auf dem Client, sondern innerhalb der Datenbank aus). Mit dem ' nzpyida -Paket können Sie außerdem eine Verbindung zu Datenbanktabellen im Stil von Pandas-Dataframes herstellen und diese für die Datenexploration nutzen (SQL-Übersetzungen für mehrere Standard-Pandas-Dataframe-Operationen sind bereits enthalten).

Es ist zwar möglich, das AE-Framework direkt zu verwenden, um die meisten Vorteile des " nzpyida -Pakets zu nutzen, doch ist dies ein mühsamer Prozess und hat eine steile Lernkurve. Zunächst müssen Sie sich mit allen Low-Level-AE-Abstraktionen vertraut machen, um eine AE zu schreiben, und dann eine Reihe von Befehlen auf der Konsole ausführen (deploy, register, run), um die AE zu starten. Das bedeutet auch, dass Sie die AE nicht von Ihrer bevorzugten Python oder einer Notebook-Umgebung aus erstellen und ausführen können. Dies schränkt Sie bei der Durchdringung Ihres Visualisierungscodes mit dem Code für die Modellerstellung stark ein und behindert die Entwicklung eines End-to-End-Szenarios - Analyse des Datensatzes, Erstellung und Ausführung der Modelle und Analyse der Modellergebnisse an einem einzigen Ort.

Die nzpyida-Beschwörung.
Die Architektur besteht aus drei Schichten, die eine nahtlose Erfahrung für die Übertragung des Client-Codes als AEs in die Datenbank ermöglichen. Die Interaktion mit der AE-Client-Schicht erfolgt ausschließlich über die Python, die im Paket " nzpyida enthalten sind.
AE-Client-Schicht
Stellt die Python bereit, die Sie importieren und mit den erforderlichen Parametern aufrufen können.
AE-Erzeugungsschicht
Übersetzt Ihren Python in einen AE-basierten Code und behandelt die SQL, die für den Aufruf der bereits vorhandenen benutzerdefinierten Funktionen erforderlich ist.
AE-Ausführungsebene
Stellt die bereits vorhandenen benutzerdefinierten Funktionen bereit, führt den SQL-Code aus und startet den AE-Launcher, der die AE-Ausführung übernimmt.

Funktionen

Mit dem Paket " nzpyida können Sie:
  1. Verbindung zu Datenbanktabellen mit einer Datenframe-Abstraktion im Stil von Pandas.
  2. Datenexploration in der Datenbank unter Verwendung der eingebauten SQL-Übersetzungen (unter Verwendung des Pandas-Dataframe-Stils).
  3. Ausführung von benutzerdefiniertem ML-Code direkt in der Datenbank (durch einfache Python ).