Tutorial do Python: categorizar clientes usando o cluster K-means com o aprendizado de máquina do SQL

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

Nesta série de tutoriais de quatro partes, use o Python para desenvolver e implantar um modelo de cluster K-Means nos Serviços de Machine Learning do SQL Server ou nos Clusters de Big Data para categorizar dados de clientes.

Nesta série de tutoriais de quatro partes, você usa o Python para desenvolver e implantar um modelo de clustering de K-Means nos Serviços de Machine Learning do SQL Server para os dados do cliente do cluster.

Nesta série de tutoriais de quatro partes, você usa o Python para desenvolver e implantar um modelo de cluster K-means nos Serviços de Machine Learning da Instância Gerenciada de SQL do Azure para os dados do cliente do cluster.

Na primeira parte desta série, você configura os pré-requisitos do tutorial e restaura um conjunto de dados de exemplo para um banco de dados. Posteriormente nesta série, você usa esses dados para treinar e implantar um modelo de clustering em Python com o aprendizado de máquina do SQL.

Nas partes dois e três desta série, você desenvolve alguns scripts do Python em um notebook do Azure Data Studio para analisar e preparar seus dados e treinar um modelo de machine learning. Na parte quatro, você executa esses scripts Python dentro de um banco de dados usando procedimentos armazenados.

O clustering pode ser explicado como organizador de dados em grupos, nos quais os membros de um grupo são semelhantes de algum modo. Para esta série de tutoriais, imagine que você tenha uma empresa de varejo. Você usa o algoritmo K-Means para executar o clustering de clientes em um conjunto de dados de compras e devoluções de produtos. Ao realizar o clustering de clientes, você pode concentrar seus esforços de marketing com mais eficiência, direcionando-os a grupos específicos. O clustering de K-Means é um algoritmo de aprendizado não supervisionado que procura padrões em dados com base em semelhanças.

Neste artigo, aprenda a:

  • Restaurar um banco de dados de exemplo

Na parte dois, você aprende a preparar os dados de um banco de dados para executar clustering.

Na parte três, você aprende a criar e treinar um modelo de cluster K-means em Python.

Na parte quatro, você aprende a criar um procedimento armazenado em um banco de dados que pode executar clustering no Python com base em novos dados.

Pré-requisitos

  • Azure Data Studio. Você usa um notebook no Azure Data Studio para Python e para SQL. Para obter mais informações sobre notebooks, confira Como usar notebooks no Azure Data Studio.

  • Pacotes do Python adicionais – os exemplos nesta série de tutoriais usam pacotes do Python que você pode ou não ter instalado.

    Abra um Prompt de Comando Administrativo e altere para o caminho de instalação da versão do Python que você usa no Azure Data Studio. Por exemplo, cd %LocalAppData%\Programs\Python\Python37-32. Execute os comandos a seguir para instalar qualquer um desses pacotes que ainda não estão 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 comandos icacls a seguir para conceder acesso READ & EXECUTE às bibliotecas instaladas para 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 .bak de backup de banco de dados para você baixar e usar. Esse conjunto de dados é derivado do conjunto de dados tpcx-bb, fornecido pela TPC (Transaction Processing Performance Council).

Observação

Se você estiver usando Serviços de Machine Learning em Clusters de Big Data, confira como Restaurar um banco de dados na instância mestra de cluster de Big Data do SQL Server.

  1. Baixe o arquivo tpcxbb_1gb. bak.

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

    • Importe do arquivo tpcxbb_1gb.bak que você baixou
    • Nomeie o banco de dados de destino como "tpcxbb_1gb"
  3. Consultando a tabela dbo.customer, é possível verificar se o conjunto de dados existe depois de você ter restaurado o banco de dados:

    USE tpcxbb_1gb;
    SELECT * FROM [dbo].[customer];
    
  1. Baixe o arquivo tpcxbb_1gb. bak.

  2. Siga as instruções descritas em Restaurar um banco de dados em uma Instância Gerenciada de SQL no SQL Server Management Studio usando estes detalhes:

    • Importe do arquivo tpcxbb_1gb.bak que você baixou
    • Nomeie o banco de dados de destino como "tpcxbb_1gb"
  3. Consultando a tabela dbo.customer, é possível verificar se o conjunto de dados existe depois de você ter restaurado o banco de dados:

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

Limpar os recursos

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

Próximas etapas

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

  • Restaurar um banco de dados de exemplo

Para preparar os dados para o modelo de machine learning, siga a parte dois desta série de tutoriais: