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
- Serviços de Machine Learning do SQL Server com a opção de linguagem Python – siga as instruções de instalação no guia de instalação do Windows ou no guia de instalação do Linux.
- Serviços de Machine Learning do SQL Server com a opção de linguagem Python – siga as instruções de instalação no guia de instalação do Windows ou no guia de instalação do Linux. Você também pode habilitar Serviços de Machine Learning em Clusters de Big Data do SQL Server.
- Serviços de Machine Learning do SQL Server com a opção de linguagem Python – siga as instruções de instalação no Guia de instalação do Windows.
Serviços de Machine Learning da Instância Gerenciada de SQL do Azure. Para obter informações, confira a Visão geral dos Serviços de Machine Learning da Instância Gerenciada de SQL do Azure.
SQL Server Management Studio para restaurar o banco de dados de exemplo na Instância Gerenciada de SQL do Azure.
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 adicionais para Python: os exemplos nesta série de tutoriais usam pacotes para 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.
Baixe o arquivo tpcxbb_1gb. bak.
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
tpcxbb_1gb
.
- Importe do arquivo
É possível verificar se o conjunto de dados existe depois de restaurar o banco de dados ao realizar uma consulta na tabela
dbo.customer
:USE tpcxbb_1gb; SELECT * FROM [dbo].[customer];
Baixe o arquivo tpcxbb_1gb. bak.
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
tpcxbb_1gb
.
- Importe do arquivo
É possível verificar se o conjunto de dados existe depois de restaurar o banco de dados ao realizar uma consulta na tabela
dbo.customer
: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óxima etapa
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: