Der Zweck dieses Tutorials besteht darin, SQL-Programmierern praktische Erfahrungen beim Erstellen von Lösungen für maschinelles Lernen auf SQL Server zu vermitteln. In diesem Tutorial erfahren Sie, wie Sie Python in Ihre Anwendung einbetten, indem Sie Ihren gespeicherten Prozeduren Python-Code hinzufügen.
[!NOTE] Klicken Sie hier, um die R-Version eines ähnlichen Tutorials anzuzeigen (http://qiita.com/qio9o9/items/4f020bb93dc07567e556). Die R-Version funktioniert sowohl mit SQL Server 2017 als auch mit SQL Server 2016.
Der Lebenszyklus der Entwicklung des maschinellen Lernens besteht im Allgemeinen aus Datenerfassung und -bereinigung, Datenexploration und Feature-Engineering, Modelltraining und -optimierung und schließlich der Modellbereitstellung für die Produktion. Für das eigentliche Codieren, Debuggen und Testen verwenden Sie am besten eine integrierte Entwicklungsumgebung für Python (Python-Tools für Visual Studio, PyCharm, Spyder usw.) wie:
Stellen Sie nach dem Erstellen und Testen der Lösung in der Python-IDE den Python-Code als gespeicherte Transact-SQL-Prozedur auf SQL Server bereit. In diesem Tutorial erhalten Sie den gesamten Python-Code, den Sie benötigen.
Laden Sie den Beispieldatensatz und alle Skriptdateien auf Ihren lokalen Computer herunter.
Führen Sie ein PowerShell-Skript aus, das eine Datenbank und eine Tabelle für die angegebene Instanz erstellt und die Beispieldaten in die Tabelle lädt.
Führen Sie Python über eine gespeicherte Transact-SQL-Prozedur aus, um die grundlegende Datenexploration und -visualisierung durchzuführen.
Die Extraktion von Datenmerkmalen wird mithilfe benutzerdefinierter Funktionen durchgeführt.
Erstellen und speichern Sie ein Modell für maschinelles Lernen mit gespeichertem prozeduralem Python-Code.
Verwenden Sie nach dem Speichern des Modells in der Datenbank Transact-SQL, um das Modell zur Vorhersage aufzurufen.
[!NOTE] Wenn es ein Problem mit dem in die gespeicherte Prozedur eingebetteten Code gibt, reichen die von der gespeicherten Prozedur zurückgegebenen Informationen normalerweise nicht aus, um die Fehlerursache zu verstehen. Daher ist das Testen des Python-Codes eine integrierte Entwicklungsumgebung für Python (IDE). ) Ist empfohlen.
In diesem Tutorial wird der bekannte NYC Taxi-Datensatz verwendet. Um dieses Tutorial schnell und einfach zu gestalten, werden wir die Daten testen und verwenden. Basierend auf Spalten wie Zeit, Entfernung und Abholort in diesem Datensatz erstellen wir ein binäres Klassifizierungsmodell, das vorhersagt, ob Chips für eine bestimmte Fahrt verfügbar sind.
Bevor Sie mit dem Lernprogramm beginnen, müssen Sie die folgenden Vorbereitungen treffen: :: ::
Installieren Sie Database Engine Services und Machine Learning Services (In-Database) für SQL Server 2017.
Um Python (und R) in SQL Server 2017 auszuführen, müssen Sie die Einstellung der in sp_configure aktivierten externen Skripts ändern. Außerdem erfordert der Parameter für die Aktivierung externer Skripts einen Neustart von SQL Server 2017, damit die Einstellungsänderungen wirksam werden.
―― 1. Aktivieren Sie die externe Skriptausführungsfunktion
```SQL:T-SQL
EXEC sp_configure 'external scripts enabled', 1;
```
―― 2. Starten Sie SQL Server 2017 neu
```cmd:cmd
net stop "SQL Server Launchpad (MSSQLSERVER)"
net stop "SQL Server (MSSQLSERVER)"
net start "SQL Server (MSSQLSERVER)"
net start "SQL Server Launchpad (MSSQLSERVER)"
```
Ändern Sie den an den Befehl net übergebenen Instanznamen entsprechend der Umgebung. Wenn es einen Dienst gibt, der vom SQL Server-Dienst abhängt, z. B. den SQL Server-Agent-Dienst, starten Sie ihn explizit neu.
--Die in diesem Lernprogramm verwendete SQL Server-Anmeldung erfordert Berechtigungen zum Erstellen von Datenbanken und anderen Objekten, Aktualisieren von Daten, Durchsuchen von Daten und Ausführen gespeicherter Prozeduren.
Schritt 1: Beispieldaten herunterladen
In-Database Python Analytics for SQL Developers
Machine Learning Services with Python
Recommended Posts