revoscalepy (Python-Paket in SQL Server Machine Learning Services)
Gilt für: SQL Server 2017 (14.x) und höher
revoscalepy ist ein Python-Paket von Microsoft, das verteiltes Computing, Remotecomputekontexte und hochleistungsfähige Data-Science-Algorithmen unterstützt. Es ist in SQL Server Machine Learning Services enthalten.
Dieses Paket bietet die folgenden Funktionen:
- Lokale und Remotecomputekontexte auf Systemen mit derselben revoscalepy-Version
- Funktionen für Datentransformation und -visualisierung
- Data Science-Funktionen, skalierbar durch verteilte oder parallele Verarbeitung
- Verbesserte Leistung, einschließlich der Verwendung der mathematischen Intel-Bibliotheken
Datenquellen und Computekontexte, die Sie in revoscalepy erstellen, können auch in Machine Learning-Algorithmen verwendet werden. Eine Einführung zu diesen Algorithmen finden Sie unter microsoftml-Python-Modul in SQL Server.
Vollständige Referenzdokumentation
Das revoscalepy-Paket wird in mehreren Microsoft-Produkten bereitgestellt. Die Verwendung ist jedoch immer identisch, unabhängig davon, ob Sie das Paket in SQL Server oder einem anderen Produkt abrufen. Da die Funktionen identisch sind, wird die Dokumentation für einzelne Revoscalepy-Funktionen nur an einer Stelle in der Python-Referenz veröffentlicht. Abweichungen durch produktspezifisches Verhalten finden Sie ggf. auf der Hilfeseite der Funktion.
Versionen und Plattformen
Das revoscalepy-Modul basiert auf Python 3.5 und ist nur verfügbar, wenn Sie eines der folgenden Microsoft-Produkte oder Downloads installieren:
Hinweis
Vollständige Produktversionen sind in SQL Server 2017 nur unter Windows verfügbar. In SQL Server 2019 und höher wird revoscalepy sowohl unter Windows als auch unter Linux unterstützt.
Funktionen nach Kategorie
In diesem Abschnitt werden die Funktionen nach Kategorien aufgelistet, damit Sie einen Überblick über die Verwendung der einzelnen Funktionen erhalten. Im Inhaltsverzeichnis können Sie in alphabetischer Reihenfolge nach den Funktionen suchen.
1: Datenquelle und Compute
revoscalepy enthält Funktionen zum Erstellen von Datenquellen und zum Festlegen des Speicherorts bzw. Computekontexts, in dem Berechnungen durchgeführt werden. In der folgenden Tabelle sind die für SQL Server-Szenarios relevanten Funktionen aufgeführt.
SQL Server und Python verwenden in bestimmten Fällen unterschiedliche Datentypen. Eine Liste der Zuordnungen zwischen SQL Server- und Python-Datentypen finden Sie unter Zuordnungen zwischen Python- und SQL Server-Datentypen.
Funktion | BESCHREIBUNG |
---|---|
RxInSqlServer | Erstellt ein SQL Server-Computekontextobjekt, um Berechnungen in eine Remoteinstanz zu überführen. Mehrere revoscalepy-Funktionen verwenden den Computekontext als Argument. Ein Beispiel für einen Kontextwechsel finden Sie unter Erstellen eines Modells mithilfe von revoscalepy. |
RxSqlServerData | Erstellt ein Datenobjekt basierend auf einer SQL Server-Abfrage oder -Tabelle |
RxOdbcData | Erstellt eine Datenquelle basierend auf einer ODBC-Verbindung |
RxXdfData | Erstellt eine Datenquelle basierend auf einer lokalen XDF-Datei. XDF-Dateien werden häufig verwendet, um In-Memory-Daten auf einen Datenträger auszulagern. Eine XDF-Datei kann nützlich sein, wenn Sie mit mehr Daten arbeiten als in einem Batch aus der Datenbank übertragen werden können oder als in den Arbeitsspeicher passen. Wenn Sie beispielsweise regelmäßig große Mengen von Daten aus einer Datenbank zu einer lokalen Arbeitsstation verschieben, anstatt die Datenbank wiederholt für jeden R-Vorgang abzufragen, können Sie die XDF-Datei als Cache verwenden, um die Daten lokal zu speichern und anschließend mit ihnen im R-Arbeitsbereich zu arbeiten. |
Tipp
Wenn Sie mit dem Konzept von Datenquellen oder Computekontexten noch nicht vertraut sind, empfiehlt es sich, zunächst den Artikel über verteiltes Computing zu lesen.
2: Datenbearbeitung (ETL)
Funktion | BESCHREIBUNG |
---|---|
rx_import | Importiert Daten in eine XDF-Datei oder einen Datenrahmen |
rx_data_step | Wandelt Daten von einem Eingabedataset in ein Ausgabedataset um |
3: Schulung und Zusammenfassung
Funktion | BESCHREIBUNG |
---|---|
rx_btrees | Passt stochastische farbverlaufverstärkte Entscheidungsstrukturen an |
rx_dforest | Passt Klassifizierungs- und Regressionsentscheidungswälder an |
rx_dtree | Passt Klassifizierungs- und Regressionsbäume an |
rx_lin_mod | Erstellen eines linearen Regressionsmodells |
rx_logit | Erstellen eines logistischen Regressionsmodells |
rx_summary | Erstellt univariate Zusammenfassungen von Objekten in revoscalepy. |
Sie sollten auch die Funktionen in microsoftml auf weitere Ansätze überprüfen.
4: Bewertungsfunktionen
Funktion | BESCHREIBUNG |
---|---|
rx_predict | Generiert Vorhersagen aus einem trainierten Modell und kann für Echtzeitbewertung verwendet werden. |
rx_predict_default | Berechnet vorhergesagte Werte und Restwerte mithilfe von rx_lin_mod- und rx_logit-Objekten |
rx_predict_rx_dforest | Berechnet vorhergesagte oder angepasste Werte für ein Dataset aus einem rx_dforest- oder rx_btrees-Objekt |
rx_predict_rx_dtree | Berechnet vorhergesagte oder angepasste Werte für ein Dataset aus einem rx_dtree-Objekt |
Arbeiten mit revoscalepy
Funktionen in revoscalepy können in Python-Code aufgerufen werden, der in gespeicherten Prozeduren gekapselt ist. Die meisten Entwickler erstellen revoscalepy-Lösungen lokal, und migrieren den fertigen Python-Code anschließend als Bereitstellungsübung in gespeicherte Prozeduren.
Für eine lokale Ausführung führen Sie in der Regel ein Python-Skript über die Befehlszeile oder eine Python-Entwicklungsumgebung aus, und geben einen SQL Server-Computekontext an, indem Sie eine der revoscalepy-Funktionen verwenden. Sie können den Remotecomputekontext für den gesamten Code oder für einzelne Funktionen verwenden. Sie können beispielsweise das Modelltraining auf den Server auslagern, um die neuesten Daten zu verwenden und Datenverschiebung zu vermeiden.
Wenn Sie bereit sind, ein Python-Skript in einer gespeicherten Prozedur, sp_execute_external_script, zu kapseln, empfiehlt es sich, den Code als eine einzelne Funktion mit klar definierte Eingaben und Ausgaben neu zu schreiben.
Eingaben und Ausgaben müssen Pandas-Datenrahmen sein. Wenn dies der Fall ist, können Sie die gespeicherte Prozedur von jedem Client aus abrufen, der T-SQL unterstützt, SQL-Abfragen problemlos als Eingaben übergeben und die Ergebnisse in SQL-Tabellen speichern. Ein Beispiel finden Sie unter Informationen zur datenbankinternen Python-Analyse für SQL-Entwickler.
Verwenden von revoscalepy mit microsoftml
Die Python-Funktionen für microsoftml sind in die Computekontexte und Datenquellen integriert, die in revoscalepy bereitgestellt werden. Wenn Sie in microsoftml Funktionen aufrufen, z. B. zum Definieren und Trainieren eines Modells, verwenden Sie die revoscalepy-Funktionen, um den Python-Code entweder lokal oder in einem SQL Server-Remotecomputekontext auszuführen.
Das folgende Beispiel zeigt die Syntax zum Importieren von Modulen im Python-Code. Sie können dann auf die einzelnen Funktionen verweisen, die Sie benötigen.
from microsoftml.modules.logistic_regression.rx_logistic_regression import rx_logistic_regression
from revoscalepy.functions.RxSummary import rx_summary
from revoscalepy.etl.RxImport import rx_import_datasource