Udostępnij za pomocą


Samouczek w języku Python: kategoryzowanie klientów przy użyciu klastrowania metodą k-średnich przy użyciu uczenia maszynowego SQL

Dotyczy: SQL Server 2017 (14.x) i nowsze wersje usługi Azure SQL Managed Instance

W tej czteroczęściowej serii samouczków użyj języka Python do opracowania i wdrożenia modelu klastrowania K-Średnich w usługach SQL Server Machine Learning Services lub w klastrach danych big data w celu kategoryzowania danych klientów.

W tej czteroczęściowej serii samouczków użyj języka Python do opracowania i wdrożenia modelu K-Means w SQL Server Machine Learning Services, aby przeprowadzić klastrowanie danych klientów.

W tej serii czterech samouczków użyj języka Python, aby opracować i wdrożyć model klastrowania K-Means w usługach Azure SQL Managed Instance Machine Learning Services do klastrowania danych klientów.

W części jednej z tej serii skonfiguruj wymagania wstępne dotyczące samouczka, a następnie przywróć przykładowy zestaw danych do bazy danych. W dalszej części tej serii użyj tych danych, aby wytrenować i wdrożyć model klastrowania w języku Python przy użyciu uczenia maszynowego SQL.

W dwóch i trzech częściach tej serii opracuj niektóre skrypty języka Python w notesie usługi Azure Data Studio, aby analizować i przygotowywać dane oraz szkolić model uczenia maszynowego. Następnie w czwartej części uruchom te skrypty języka Python wewnątrz bazy danych przy użyciu procedur składowanych.

Klastrowanie można wyjaśnić jako organizowanie danych w grupach, w których członkowie grupy są w jakiś sposób podobne. W tej serii samouczków wyobraź sobie, że jesteś właścicielem firmy handlu detalicznego. Użyj algorytmu K-Means, aby wykonać klastrowanie klientów w zestawie danych zakupów i zwrotów produktów. Dzięki klastrowaniu klientów możesz bardziej efektywnie skoncentrować swoje wysiłki marketingowe, kierując się do określonych grup. Klaster K-Średnich to nienadzorowany algorytm uczenia , który wyszukuje wzorce w danych na podstawie podobieństw.

Z tego artykułu dowiesz się, jak wykonywać następujące działania:

  • Przywracanie przykładowej bazy danych

W drugiej części dowiesz się, jak przygotować dane z bazy danych do wykonywania klastrowania.

W trzeciej części dowiesz się, jak utworzyć i wytrenować model klastrowania K-Średnich w języku Python.

W czwartej części dowiesz się, jak utworzyć procedurę składowaną w bazie danych, która może wykonywać klastrowanie w języku Python na podstawie nowych danych.

Wymagania wstępne

  • Azure Data Studio. Użyj notesu w narzędziu Azure Data Studio zarówno dla języka Python, jak i sql. Aby uzyskać więcej informacji na temat notatników, zobacz Jak używać notatników w Azure Data Studio (How to use notebooks in Azure Data Studio).

  • Dodatkowe pakiety języka Python — przykłady z tej serii samouczków używają pakietów języka Python, które możesz mieć zainstalowane lub nie.

    Otwórz wiersz polecenia administracyjnego i przejdź do ścieżki instalacji dla wersji języka Python używanej w narzędziu Azure Data Studio. Na przykład cd %LocalAppData%\Programs\Python\Python37-32. Następnie uruchom następujące polecenia, aby zainstalować dowolne z tych pakietów, które nie zostały jeszcze zainstalowane. Upewnij się, że te pakiety są zainstalowane w prawidłowej lokalizacji instalacji języka Python. Możesz użyć opcji -t , aby określić katalog docelowy.

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

Uruchom następujące polecenia icacls, aby udzielić dostępu READ & EXECUTE do zainstalowanych bibliotek dla usługi SQL Server Launchpad Service i 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

Przywracanie przykładowej bazy danych

Przykładowy zestaw danych używany w tym samouczku został zapisany w pliku kopii zapasowej bazy danych .bak do pobrania i użycia. Ten zestaw danych pochodzi z zestawu danych tpcx-bb dostarczonego przez Radę wydajności przetwarzania transakcji (TPC).

Uwaga / Notatka

Jeśli używasz usług Machine Learning Services w klastrach danych big-data, zobacz, jak przywrócić bazę danych do głównej instancji klastra danych big-data programu SQL Server.

  1. Pobierz plik tpcxbb_1gb.bak.

  2. Postępuj zgodnie z instrukcjami w artykule Przywracanie bazy danych z pliku kopii zapasowej w narzędziu Azure Data Studio, korzystając z następujących szczegółów:

    • Zaimportuj z pobranego tpcxbb_1gb.bak pliku.
    • Nadaj docelowej bazie danych tpcxbb_1gbnazwę .
  3. Możesz sprawdzić, czy zestaw danych istnieje po przywróceniu bazy danych, wykonując dbo.customer zapytanie dotyczące tabeli:

    USE tpcxbb_1gb;
    SELECT * FROM [dbo].[customer];
    
  1. Pobierz plik tpcxbb_1gb.bak.

  2. Postępuj zgodnie z instrukcjami w artykule Przywracanie bazy danych do wystąpienia zarządzanego SQL w programie SQL Server Management Studio, korzystając z następujących szczegółów:

    • Zaimportuj z pobranego tpcxbb_1gb.bak pliku.
    • Nadaj docelowej bazie danych tpcxbb_1gbnazwę .
  3. Możesz sprawdzić, czy zestaw danych istnieje po przywróceniu bazy danych, wykonując dbo.customer zapytanie dotyczące tabeli:

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

Uprzątnij zasoby

Jeśli nie zamierzasz kontynuować pracy z tym samouczkiem, usuń tpcxbb_1gb bazę danych.

Następny krok

W jednej części tej serii samouczków wykonano następujące kroki:

  • Przywracanie przykładowej bazy danych

Aby przygotować dane dla modelu uczenia maszynowego, wykonaj drugą część tej serii samouczków: