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

  • 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 möglicherweise Python-Pakete verwendet, die Sie 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.

  1. Laden Sie die Datei tpcxbb_1gb.bak herunter.

  2. 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.
    • Geben Sie der Zieldatenbank den Namen „tpcxbb_1gb“.
  3. 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];
    
  1. Laden Sie die Datei tpcxbb_1gb.bak herunter.

  2. 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.
    • Geben Sie der Zieldatenbank den Namen „tpcxbb_1gb“.
  3. 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 Datenbank „tpcxbb_1gb“.

Nächste Schritte

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: