Python 教學課程:使用 K-Means 叢集搭配 SQL Server 機器學習來分類客戶

適用於:SQL Server 2017 (14.x) 及更新版本 Azure SQL 受控執行個體

在本教學課程系列中 (總共四個部分),使用 Python,在 SQL Server 機器學習服務中或在巨量資料叢集上開發和部署 K-Means 叢集模型,以分類客戶資料。

在本教學課程系列中 (總共四個部分),使用 Python 在 SQL Server 機器學習服務中開和部署 K-Means 叢集模型,以將客戶資料分成叢集。

在本教學課程系列中 (總共四個部分),使用 Python 在 Azure SQL 受控執行個體機器學習服務中,開發及部署 K-Means 叢集模型,以將客戶資料分成叢集。

在本系列的第一部分中,設定本教學課程的必要條件,然後將範例資料集還原至資料庫。 在本系列稍後,使用此資料搭配 SQL 機器學習,在 Python 中訓練和部署叢集模型。

在本系列的第二部分和第三部分中,在 Azure Data Studio 筆記本中開發一些 Python 指令碼來分析和準備您的資料,並且訓練機器學習模型。 接著在第四部分中,使用預存程序在資料庫內執行這些 Python 指令碼。

叢集可以解釋成將資料組織成群組,而群組的成員在某些方面是相似的。 在本教學課程系列中,假設您有一家零售公司。 使用 K-Means 演算法在產品購買和退貨資料集中,執行客戶叢集。 透過將客戶叢集,您可以鎖定特定群組,以更有效率地專注於行銷工作。 K-Means 叢集是非監督式學習演算法,會根據相似性找出資料中的模式。

在本文中,了解如何:

  • 還原範例資料庫

第二部分,了解如何準備資料庫中的資料,以執行群集。

第三部分,了解如何在 Python 中建立和訓練 K-Means 叢集模型。

第四部分,了解如何在資料庫中建立預存程序,以根據新的資料在 Python 中執行群集。

Prerequisites

  • Azure Data Studio。 在 Azure Data Studio 中使用適用於 Python 與 SQL 的筆記本。 如需筆記本的詳細資訊,請參閱如何在 Azure Data Studio 中使用筆記本

  • 其他 Python 套件 - 本教學課程系列中範例所使用的 Python 套件您可能已安裝或尚未安裝。

    開啟 [系統管理命令提示字元] 並變更為您在 Azure Data Studio 中所使用 Python 版本的安裝路徑。 例如: cd %LocalAppData%\Programs\Python\Python37-32 。 然後執行下列命令,以安裝任何尚未安裝的套件。 請確定這些套件已安裝在正確的 Python 安裝位置。 您可以使用選項 -t 來指定目的地目錄。

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

執行下列 icacls 命令,將 Python 安裝位置的讀取並執行 存取權授與 SQL Server Launchpad 服務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

還原範例資料庫

本教學課程中使用的範例資料集已儲存到 .bak 資料庫備份檔案中,供您下載和使用。 此資料集衍生自 tpcx-bb 資料集 (由 Transaction Processing Performance Council (TPC) 提供)。

注意

如果您是在巨量資料叢集上使用機器學習服務,請參閱如何將資料庫還原至 SQL Server 巨量資料叢集主要執行個體

  1. 下載 tpcxbb_1gb.bak 檔案。

  2. 請遵循在 Azure Data Studio 中從備份檔案還原資料庫中的指示,使用下列詳細資料:

    • 從您下載的 tpcxbb_1gb.bak 檔案匯入
    • 將目標資料庫命名為 "tpcxbb_1gb"
  3. 您可以藉由查詢 dbo.customer 資料表,確認資料集在還原資料庫後是否存在:

    USE tpcxbb_1gb;
    SELECT * FROM [dbo].[customer];
    
  1. 下載 tpcxbb_1gb.bak 檔案。

  2. 遵循 SQL Server Management Studio 中將資料庫還原至 SQL 受控執行個體的指示,使用下列詳細資料:

    • 從您下載的 tpcxbb_1gb.bak 檔案匯入
    • 將目標資料庫命名為 "tpcxbb_1gb"
  3. 您可以藉由查詢 dbo.customer 資料表,確認資料集在還原資料庫後是否存在:

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

清除資源

如果您不打算繼續進行本教學課程,請刪除 tpcxbb_1gb 資料庫。

後續步驟

在本教學課程系列的第一部分中,您已完成下列步驟:

  • 還原範例資料庫

若要針對機器學習模型準備資料,請遵循本教學課程系列的第二部分進行: