Partilhar via


Tutorial do Python: Categorizando clientes usando clustering k-means com aprendizado de máquina SQL

Aplica-se a: SQL Server 2017 (14.x) e versões posteriores Instância Gerenciada SQL do Azure

Nesta série de tutoriais de quatro partes, use Python para desenvolver e implantar um modelo de cluster K-Means no SQL Server Machine Learning Services ou em clusters de Big Data para categorizar dados do cliente.

Nesta série de tutoriais de quatro partes, use Python para desenvolver e implantar um modelo de cluster K-Means no SQL Server Machine Learning Services para agrupar dados do cliente.

Nesta série de tutoriais de quatro partes, use Python para desenvolver e implantar um modelo de clustering K-Means nos Serviços de Aprendizado de Máquina de Instância Gerenciada SQL do Azure para agrupar dados de clientes.

Na primeira parte desta série, configure os pré-requisitos para o tutorial e, em seguida, restaure um conjunto de dados de exemplo para um banco de dados. Mais adiante nesta série, use esses dados para treinar e implantar um modelo de clustering em Python com aprendizado de máquina SQL.

Nas partes dois e três desta série, desenvolva alguns scripts Python em um bloco de anotações do Azure Data Studio para analisar e preparar seus dados e treinar um modelo de aprendizado de máquina. Em seguida, na quarta parte, execute esses scripts Python dentro de um banco de dados usando procedimentos armazenados.

O agrupamento pode ser explicado como a organização de dados em grupos onde os membros de um grupo são semelhantes de alguma forma. Para esta série de tutoriais, imagine que você possui um negócio de varejo. Use o algoritmo K-Means para executar o agrupamento de clientes em um conjunto de dados de compras e devoluções de produtos. Ao agrupar clientes, você pode concentrar seus esforços de marketing de forma mais eficaz segmentando grupos específicos. O agrupamento K-Means é um algoritmo de aprendizagem não supervisionado que procura padrões nos dados com base em semelhanças.

Neste artigo, saiba como:

  • Restaurar um banco de dados de exemplo

Na segunda parte, saiba como preparar os dados de um banco de dados para executar clustering.

Na terceira parte, aprenda a criar e treinar um modelo de clustering K-Means em Python.

Na quarta parte, saiba como criar um procedimento armazenado em um banco de dados que pode executar clustering em Python com base em novos dados.

Pré-requisitos

  • Azure Data Studio. Usa um caderno no Azure Data Studio tanto para Python como para SQL. Para obter mais informações sobre blocos de anotações, consulte Como usar blocos de anotações no Azure Data Studio.

  • Pacotes Python adicionais - Os exemplos desta série de tutoriais usam pacotes Python que você pode ou não ter instalado.

    Abra um Prompt de Comando Administrativo e mude para o caminho de instalação da versão do Python que utiliza no Azure Data Studio. Por exemplo, cd %LocalAppData%\Programs\Python\Python37-32. Em seguida, execute os seguintes comandos para instalar qualquer um desses pacotes que ainda não estejam instalados. Verifique se esses pacotes estão instalados no local de instalação correto do Python. Você pode usar a opção -t para especificar o diretório de destino.

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

Execute os seguintes comandos icacls para conceder acesso READ & EXECUTE às bibliotecas instaladas para o SQL Server Launchpad Service e 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

Restaurar o banco de dados de exemplo

O conjunto de dados de exemplo usado neste tutorial foi salvo em um arquivo de backup de banco de dados .bak para você baixar e usar. Este conjunto de dados é derivado do conjunto de dados tpcx-bb fornecido pelo Transaction Processing Performance Council (TPC).

Observação

Se você estiver usando os Serviços de Aprendizado de Máquina em Clusters de Big Data, veja como Restaurar um banco de dados na instância mestra do cluster de big data do SQL Server.

  1. Transfira o ficheiro tpcxbb_1gb.bak.

  2. Siga as instruções em Restaurar um banco de dados a partir de um arquivo de backup no Azure Data Studio, usando estes detalhes:

    • Importe do ficheiro tpcxbb_1gb.bak que você baixou.
    • Nomeie o banco de dados de destino tpcxbb_1gb.
  3. Você pode verificar se o conjunto de dados existe depois de restaurar o banco de dados consultando a dbo.customer tabela:

    USE tpcxbb_1gb;
    SELECT * FROM [dbo].[customer];
    
  1. Transfira o ficheiro tpcxbb_1gb.bak.

  2. Siga as instruções em Restaurar um banco de dados para uma instância gerenciada do SQL no SQL Server Management Studio, usando estes detalhes:

    • Importe do ficheiro tpcxbb_1gb.bak que você baixou.
    • Nomeie o banco de dados de destino tpcxbb_1gb.
  3. Você pode verificar se o conjunto de dados existe depois de restaurar o banco de dados consultando a dbo.customer tabela:

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

Limpeza de recursos

Se você não quiser continuar com este tutorial, exclua o tpcxbb_1gb banco de dados.

Próximo passo

Na primeira parte desta série de tutoriais, você concluiu estas etapas:

  • Restaurar um banco de dados de exemplo

Para preparar os dados para o modelo de aprendizado de máquina, siga a segunda parte desta série de tutoriais: