Tutorial: Assistente de pontuação do modelo de machine learning para pools de SQL dedicados

Saiba como enriquecer facilmente seus dados em pools de SQL dedicados com modelos de machine learning preditivos. Os modelos que os cientistas de dados criam agora podem ser facilmente acessados por profissionais de dados para análise preditiva. Um profissional de dados no Azure Synapse Analytics pode simplesmente selecionar um modelo do registro de modelos do Azure Machine Learning para implantação em pools de SQL do Synapse e iniciar previsões para enriquecer os dados.

Neste tutorial, você aprenderá como:

  • Treinar um modelo de machine learning preditivo e registrar o modelo no registro de modelos do Azure Machine Learning.
  • Usar o assistente de pontuação do SQL para iniciar previsões em um pool de SQL dedicado.

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Pré-requisitos

Entre no Portal do Azure

Entre no portal do Azure.

Treinar um modelo no Azure Machine Learning

Antes de começar, verifique se sua versão do sklearn é a 0.20.3.

Antes de você executar todas as células no notebook, verifique se a instância de computação está em execução.

Captura de tela que mostra a verificação da computação do Azure Machine Learning.

  1. Acesse o Workspace do Azure Machine Learning.

  2. Baixe Predict NYC Taxi Tips.ipynb.

  3. Abra o Workspace do Azure Machine Learning no Estúdio do Azure Machine Learning.

  4. Acesse Notebooks>Carregar arquivos. Em seguida, selecione o arquivo Predict NYC Taxi Tips.ipynb que você baixou e carregou. Captura de tela do botão para carregar um arquivo.

  5. Depois que o notebook for carregado e aberto, selecione Executar todas as células.

    Uma das células pode falhar e solicitar que você se autentique no Azure. Fique atento a isso nas saídas de célula e faça a autenticação no navegador seguindo o link e inserindo o código. Em seguida, execute novamente o notebook.

  6. O notebook treinará um modelo ONNX e o registrará com o MLflow. Acesse Modelos para verificar se o novo modelo está registrado corretamente. Captura de tela que mostra o modelo no registro.

  7. A execução do notebook também exportará os dados de teste para um arquivo CSV. Baixe o arquivo CSV em seu sistema local. Posteriormente, você importará o arquivo CSV em um pool de SQL dedicado e usará os dados para testar o modelo.

    O arquivo CSV é criado na mesma pasta que o arquivo do notebook. Clique em Atualizar no Explorador de Arquivos se você não o vir imediatamente.

    Captura de tela que mostra o arquivo CSV.

Iniciar previsões com o assistente de pontuação do SQL

  1. Abra o workspace do Azure Synapse com o Synapse Studio.

  2. Acesse Dados>Vinculado>Contas de Armazenamento. Carregue test_data.csv na conta de armazenamento padrão.

    Captura de tela que mostra seleções para carregamento de dados.

  3. Acesse Desenvolver>Scripts SQL. Crie um script de SQL para carregar test_data.csv em seu pool de SQL dedicado.

    Observação

    Atualize a URL do arquivo neste script antes de executá-lo.

    IF NOT EXISTS (SELECT * FROM sys.objects WHERE NAME = 'nyc_taxi' AND TYPE = 'U')
    CREATE TABLE dbo.nyc_taxi
    (
        tipped int,
        fareAmount float,
        paymentType int,
        passengerCount int,
        tripDistance float,
        tripTimeSecs bigint,
        pickupTimeBin nvarchar(30)
    )
    WITH
    (
        DISTRIBUTION = ROUND_ROBIN,
        CLUSTERED COLUMNSTORE INDEX
    )
    GO
    
    COPY INTO dbo.nyc_taxi
    (tipped 1, fareAmount 2, paymentType 3, passengerCount 4, tripDistance 5, tripTimeSecs 6, pickupTimeBin 7)
    FROM '<URL to linked storage account>/test_data.csv'
    WITH
    (
        FILE_TYPE = 'CSV',
        ROWTERMINATOR='0x0A',
        FIELDQUOTE = '"',
        FIELDTERMINATOR = ',',
        FIRSTROW = 2
    )
    GO
    
    SELECT TOP 100 * FROM nyc_taxi
    GO
    

    Carregar dados no pool do SQL dedicado

  4. Acesse Dados>Workspace. Abra o assistente de pontuação do SQL clicando com o botão direito do mouse na tabela do pool de SQL dedicado. Selecione Machine Learning>Fazer previsão com o novo modelo.

    Observação

    A opção de machine learning não é exibida a menos que você tenha um serviço vinculado criado para o Azure Machine Learning. (Confira Pré-requisitos no início deste tutorial.)

    Captura de tela que mostra a opção de machine learning.

  5. Selecione um Workspace do Azure Machine Learning vinculado na caixa suspensa. Essa etapa carrega uma lista de modelos de machine learning do registro de modelos do Workspace do Azure Machine Learning escolhido. Atualmente, há suporte apenas para modelos ONNX, portanto, essa etapa exibirá apenas modelos ONNX.

  6. Selecione o modelo que você acabou de treinar e escolha Continuar.

    Captura de tela que mostra a seleção do modelo do Azure Machine Learning.

  7. Em seguida, mapeie as colunas da tabela para as entradas do modelo e especifique as saídas do modelo. Se o modelo for salvo no formato MLflow e a assinatura do modelo for populada, o mapeamento será feito automaticamente para você usando uma lógica com base na similaridade de nomes. A interface também dá suporte ao mapeamento manual.

    Selecione Continuar.

    Captura de tela que mostra o mapeamento de tabela para modelo.

  8. O código T-SQL gerado é encapsulado dentro de um procedimento armazenado. É por isso que você precisa fornecer um nome de procedimento armazenado. O binário do modelo, incluindo metadados (versão, descrição e outras informações), será copiado fisicamente do Azure Machine Learning para uma tabela de pool de SQL dedicado. Portanto, você precisa especificar em qual tabela salvar o modelo.

    Você pode escolher Tabela existente ou Criar. Depois de terminar, selecione Implantar modelo + abrir script para implantar o modelo e gerar um script de previsão do T-SQL.

    Captura de tela que mostra seleções para criação de um procedimento armazenado.

  9. Depois que o script for gerado, selecione Executar para executar a pontuação e obter previsões.

    Captura de tela que mostra a pontuação e as previsões.

Próximas etapas