Delen via


Python-zelfstudie: Klanten categoriseren met behulp van k-means-clustering met SQL Machine Learning

Van toepassing op: SQL Server 2017 (14.x) en latere versies van Azure SQL Managed Instance

In deze vierdelige reeks zelfstudies gebruikt u Python om een K-Means-clusteringmodel te ontwikkelen en te implementeren in SQL Server Machine Learning Services of op Big Data-clusters om klantgegevens te categoriseren.

In deze vierdelige reeks zelfstudies gebruikt u Python om een K-Means-clusteringmodel in SQL Server Machine Learning Services te ontwikkelen en te implementeren om klantgegevens te clusteren.

In deze vierdelige reeks zelfstudies gebruikt u Python om een K-Means-clusteringmodel te ontwikkelen en te implementeren in Azure SQL Managed Instance Machine Learning Services om klantgegevens te clusteren.

Stel in deel één van deze reeks de vereisten voor de tutorial in en zet vervolgens een voorbeeldgegevensset terug in een database. Later in deze reeks gebruikt u deze gegevens om een clusteringmodel te trainen en te implementeren in Python met SQL Machine Learning.

Ontwikkel in deel twee en drie van deze reeks enkele Python-scripts in een Azure Data Studio-notebook om uw gegevens te analyseren en voor te bereiden en een machine learning-model te trainen. Voer vervolgens in deel vier deze Python-scripts uit in een database met behulp van opgeslagen procedures.

Clustering kan worden uitgelegd als het ordenen van gegevens in groepen waar leden van een groep op een of andere manier vergelijkbaar zijn. Stel dat u eigenaar bent van een detailhandel voor deze reeks zelfstudies. Gebruik het K-Means-algoritme om de clustering van klanten uit te laten voeren in een databron met productaankopen en retouren. Door klanten te clusteren, kunt u uw marketinginspanningen effectiever richten door specifieke groepen te richten. K-Means-clustering is een leeralgoritmen zonder supervisie die zoekt naar patronen in gegevens op basis van overeenkomsten.

In dit artikel leert u het volgende:

  • Een voorbeelddatabase herstellen

In deel twee leert u hoe u de gegevens uit een database voorbereidt om clustering uit te voeren.

In deel drie leert u hoe u een K-Means-clusteringmodel maakt en traint in Python.

In deel vier leert u hoe u een opgeslagen procedure maakt in een database die clustering in Python kan uitvoeren op basis van nieuwe gegevens.

Vereiste voorwaarden

  • Azure Data Studio. gebruik een notebook in Azure Data Studio voor zowel Python als SQL. Zie Notebooks gebruiken in Azure Data Studio voor meer informatie over notebooks.

  • Aanvullende Python-pakketten: in de voorbeelden in deze reeks zelfstudies worden Python-pakketten gebruikt die u al dan niet hebt geïnstalleerd.

    Open een beheeropdrachtprompt en ga naar het installatiepad voor de versie van Python die u in Azure Data Studio gebruikt. Bijvoorbeeld: cd %LocalAppData%\Programs\Python\Python37-32. Voer vervolgens de volgende opdrachten uit om een van deze pakketten te installeren die nog niet zijn geïnstalleerd. Zorg ervoor dat deze pakketten zijn geïnstalleerd op de juiste Python-installatielocatie. U kunt de optie -t gebruiken om de doelmap op te geven.

    pip install matplotlib
    pip install pandas
    pip install pyodbc
    pip install scipy
    pip install scikit-learn
    

Voer de volgende icacls-opdrachten uit om READ & EXECUTE toegang te verlenen tot de geïnstalleerde bibliotheken voor SQL Server Launchpad Service en SID S-1-15-2-1 (ALL_APPLICATION_PACKAGES).

  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

De voorbeelddatabase herstellen

De voorbeeldgegevensset die in deze zelfstudie wordt gebruikt, is opgeslagen in een .bak databaseback-upbestand dat u kunt downloaden en gebruiken. Deze gegevensset is afgeleid van de tpcx-bb-gegevensset die wordt geleverd door de Transaction Processing Performance Council (TPC).

Opmerking

Als u Machine Learning Services op Big Data-clusters gebruikt, bekijkt u hoe u een database herstelt in de hoofdinsteek van het Big Data-cluster van SQL Server.

  1. Download het bestand tpcxbb_1gb.bak.

  2. Volg de aanwijzingen in Een database herstellen vanuit een back-upbestand in Azure Data Studio met behulp van deze details:

    • Importeer het tpcxbb_1gb.bak bestand dat u hebt gedownload.
    • Geef de doeldatabase tpcxbb_1gbeen naam.
  3. U kunt controleren of de gegevensset bestaat nadat u de database hebt hersteld door een query uit te voeren op de dbo.customer tabel:

    USE tpcxbb_1gb;
    SELECT * FROM [dbo].[customer];
    
  1. Download het bestand tpcxbb_1gb.bak.

  2. Volg de aanwijzingen in Een database herstellen naar een SQL Managed Instance in SQL Server Management Studio met behulp van deze details:

    • Importeer het tpcxbb_1gb.bak bestand dat u hebt gedownload.
    • Geef de doeldatabase tpcxbb_1gbeen naam.
  3. U kunt controleren of de gegevensset bestaat nadat u de database hebt hersteld door een query uit te voeren op de dbo.customer tabel:

    USE tpcxbb_1gb;
    SELECT * FROM [dbo].[customer];
    

De hulpbronnen opschonen

Als u niet verdergaat met deze handleiding, verwijder de tpcxbb_1gb database.

Volgende stap

In deel één van deze reeks zelfstudies hebt u deze stappen voltooid:

  • Een voorbeelddatabase herstellen

Volg deel twee van deze reeks zelfstudies om de gegevens voor het machine learning-model voor te bereiden: