Python-Tutorial: Kategorisieren von Kunden mithilfe von K-Means-Clustering mit SQL Machine Learning
Gilt für: SQL Server 2017 (14.x) und höher Azure SQL Managed Instance
In dieser vierteiligen Tutorialreihe verwenden Sie Python zum Entwickeln und Bereitstellen eines K-Means-Clustermodells in SQL Server Machine Learning Services oder in Big Data-Clustern zum Kategorisieren von Kundendaten.
In dieser vierteiligen Tutorialreihe verwenden Sie Python zum Entwickeln und Bereitstellen eines K-Means-Clustermodells in SQL Server Machine Learning Services zum Clustern von Kundendaten.
In dieser vierteiligen Tutorialreihe verwenden Sie Python zum Entwickeln und Bereitstellen eines K-Means-Clustermodells in Machine Learning Services in Azure SQL Managed Instance zum Clustern von Kundendaten.
Im ersten Teil dieser Reihe richten Sie die Voraussetzungen für das Tutorial ein und stellen dann ein Beispieldataset für eine Datenbank wieder her. Diese Daten verwenden Sie in einem späteren Teil dieser Reihe zum Trainieren und Bereitstellen eines Clustermodells in Python mit SQL Machine Learning.
Im zweiten und dritten Teil der Reihe entwickeln Sie Python-Skripte in einem Azure Data Studio-Notebook zum Analysieren und Vorbereiten der Daten und Trainieren eines Machine Learning-Modells. Im vierten Teil führen Sie diese Python-Skripte in einer Datenbank mithilfe gespeicherter Prozeduren aus.
Clustering kann als Organisieren von Daten in Gruppen beschrieben werden, in denen Mitglieder einer Gruppe in irgendeiner Weise ähnlich sind. Stellen Sie sich für diese Tutorialreihe vor, dass Sie ein Einzelhandelsgeschäft besitzen. Sie verwenden den K-Means-Algorithmus zum Durchführen des Clusterings von Kunden in einem Dataset von Produktkäufen und -rückgaben. Durch das Clustern von Kunden können Sie Ihre Marketingmaßnahmen effektiver auf bestimmte Gruppen ausrichten. K-Means-Clustering ist ein nicht überwachter Lernalgorithmus, der auf der Grundlage von Ähnlichkeiten nach Mustern in Daten sucht.
In diesem Artikel werden folgende Vorgehensweisen behandelt:
- Wiederherstellen einer Beispieldatenbank
In Teil 2 lernen Sie, wie Sie die Daten aus einer Datenbank für das Clustering vorbereiten.
In Teil 3 erfahren Sie, wie Sie ein K-Means-Clustermodell in Python erstellen und trainieren.
In Teil 4 erfahren Sie, wie Sie eine gespeicherte Prozedur in einer Datenbank erstellen, die Clustering auf der Grundlage neuer Daten in Python durchführen kann.
Voraussetzungen
- SQL Server Machine Learning Services mit der Python-Programmiersprachoption: Befolgen Sie die Installationsanweisungen im Windows-Installationshandbuch oder im Linux-Installationshandbuch.
- SQL Server Machine Learning Services mit der Python-Programmiersprachoption: Befolgen Sie die Installationsanweisungen im Windows-Installationshandbuch oder im Linux-Installationshandbuch. Sie können auch Machine Learning Services in Big Data-Clustern unter SQL Server aktivieren.
- SQL Server Machine Learning Services mit der Python-Programmiersprachoption: Befolgen Sie die Installationsanweisungen im Windows-Installationshandbuch.
Machine Learning Services in Azure SQL Managed Instance In der Übersicht Machine Learning Services in Azure SQL Managed Instance finden Sie weitere Informationen.
SQL Server Management Studio, um die Beispieldatenbank in Azure SQL Managed Instance wiederherzustellen
Azure Data Studio Für Python und SQL verwenden Sie ein Notebook in Azure Data Studio. Weitere Informationen zu Notebooks finden Sie unter Verwenden von Notebooks in Azure Data Studio.
Weitere Python-Pakete: In den Beispielen dieser Tutorialreihe werden Python-Pakete verwendet, die Sie möglicherweise nicht installiert haben.
Öffnen Sie eine Eingabeaufforderung mit Administratorrechten, und ändern Sie den Installationspfad gemäß der Python-Version, die Sie in Azure Data Studio verwenden. Beispiel:
cd %LocalAppData%\Programs\Python\Python37-32
. Führen Sie anschließend die folgenden Befehle aus, um die Pakete zu installieren, die noch nicht installiert sind. Stellen Sie sicher, dass diese Pakete unter dem richtigen Python-Installationspfad installiert sind. Sie können die Option-t
verwenden, um das Zielverzeichnis anzugeben.pip install matplotlib pip install pandas pip install pyodbc pip install scipy pip install scikit-learn
Führen Sie die folgenden icacls-Befehle aus, um den installierten Bibliotheken LESE- und AUSFÜHRUNGSZUGRIFF für den SQL Server-Launchpad-Dienst und SID S-1-15-2-1 (ALL_APPLICATION_PACKAGES) zu gewähren.
icacls "C:\Program Files\Python310\Lib\site-packages" /grant "NT Service\MSSQLLAUNCHPAD":(OI)(CI)RX /T
icacls "C:\Program Files\Python310\Lib\site-packages" /grant *S-1-15-2-1:(OI)(CI)RX /T
Wiederherstellen der Beispieldatenbank
Das in diesem Tutorial verwendete Beispieldataset wurde in einer BAK-Datenbanksicherungsdatei gespeichert, die Sie herunterladen und verwenden können. Dieses Dataset wird aus dem tpcx-bb-Dataset abgeleitet, das von TPC (Transaction Processing Performance Council) bereitgestellt wird.
Hinweis
Wenn Sie Machine Learning Services in Big Data-Clustern verwenden, finden Sie Informationen zum Wiederherstellen unter Wiederherstellen einer Datenbank in der Masterinstanz eines Big Data-Clusters für SQL Server.
Laden Sie die Datei tpcxbb_1gb.bak herunter.
Befolgen Sie die Anweisungen unter Wiederherstellen einer Datenbank aus einer Sicherungsdatei in Azure Data Studio, und verwenden Sie hierzu die folgenden Details:
- Importieren Sie aus der heruntergeladenen Datei
tpcxbb_1gb.bak
. - Benennen Sie die Zieldatenbank
tpcxbb_1gb
.
- Importieren Sie aus der heruntergeladenen Datei
Nach dem Wiederherstellen der Datenbank können Sie überprüfen, ob das Dataset vorhanden ist, indem Sie die Tabelle
dbo.customer
abfragen:USE tpcxbb_1gb; SELECT * FROM [dbo].[customer];
Laden Sie die Datei tpcxbb_1gb.bak herunter.
Befolgen Sie die Anweisungen unter Wiederherstellen einer Datenbank in SQL Managed Instance in SQL Server Management Studio. Verwenden Sie hierzu die folgenden Details:
- Importieren Sie aus der heruntergeladenen Datei
tpcxbb_1gb.bak
. - Benennen Sie die Zieldatenbank
tpcxbb_1gb
.
- Importieren Sie aus der heruntergeladenen Datei
Nach dem Wiederherstellen der Datenbank können Sie überprüfen, ob das Dataset vorhanden ist, indem Sie die Tabelle
dbo.customer
abfragen:USE tpcxbb_1gb; SELECT * FROM [dbo].[customer];
Bereinigen von Ressourcen
Wenn Sie nicht mit diesem Tutorial fortfahren möchten, löschen Sie die tpcxbb_1gb
Datenbank.
Nächster Schritt
Im ersten Teil dieser Tutorialreihe haben Sie die folgenden Schritte ausgeführt:
- Wiederherstellen einer Beispieldatenbank
Fahren Sie mit dem zweiten Teil dieser Tutorialreihe fort, um die Daten für das Machine Learning-Modell vorzubereiten: