Tutorial: designer – treinar um modelo de regressão sem código

Treine um modelo de regressão linear que prevê preços de carro usando o designer do Azure Machine Learning. Este tutorial é parte de uma série de duas partes.

Este tutorial usa o designer do Azure Machine Learning. Para saber mais, confira O que é o designer do Azure Machine Learning?

Na primeira parte do tutorial, você aprenderá a:

  • Criar um pipeline.
  • Importar dados.
  • Preparar os dados.
  • Treinar um modelo de machine learning.
  • Avaliar um modelo de machine learning.

Na segunda parte do tutorial, você implantará seu modelo como um ponto de extremidade de inferência em tempo real para prever o preço de qualquer carro com base nas especificações técnicas enviadas.

Observação

Uma versão concluída deste tutorial está disponível como um pipeline de exemplo.

Para encontrá-lo, acesse o designer em seu workspace. Na seção Novo pipeline, selecione Amostra 1 – Regressão: Previsão de Preços de Automóveis (Básica) .

Importante

Se você não vir os elementos gráficos mencionados neste documento, como botões no estúdio ou no designer, talvez você não tenha o nível de permissões certo para o workspace. Entre em contato com seu administrador de assinatura do Azure para verificar se você recebeu o nível de acesso correto. Para obter mais informações, confira Gerenciar usuários e funções.

Criar um novo pipeline

Os pipelines do Azure Machine Learning organizam várias etapas do aprendizado de máquina e do processamento de dados em um só recurso. Os pipelines permitem que você organize, gerencie e reutilize fluxos de trabalho complexos de aprendizado de máquina entre projetos e usuários.

Para criar um pipeline do Azure Machine Learning, você precisa de um workspace do Azure Machine Learning. Nesta seção, você aprenderá a criar esses dois recursos.

Criar um novo workspace

Você precisa de um Workspace do Azure Machine Learning para usar o designer. O workspace é o recurso de nível superior para Azure Machine Learning; ele fornece um local centralizado para trabalhar com todos os artefatos que você cria no Azure Machine Learning. Para obter instruções sobre como criar um workspace, confira Criar e gerenciar workspaces do Azure Machine Learning.

Observação

Se o seu workspace usa uma rede virtual, há etapas de configuração adicionais que você precisa seguir para usar o designer. Para obter mais informações, confira Usar o estúdio do Azure Machine Learning em uma rede virtual do Azure

Criar o pipeline

  1. Entre em ml.azure.com e selecione o workspace com o qual deseja trabalhar.

  2. Selecione Designer.

    Screenshot of the visual workspace showing how to access the designer.

  3. Selecione Componentes predefinidos fáceis de usar.

  4. Na parte superior da tela, selecione o nome do pipeline padrão Pipeline-Created-on. Renomeie-o como Previsão de preços de automóveis. O nome não precisa ser exclusivo.

Definir o destino de computação padrão

Um pipeline é executado em um destino de computação, que é um recurso de computação anexado ao workspace. Depois de criar um destino de computação, você poderá reutilizá-lo para execuções futuras.

Importante

Não há suporte para a computação anexada, use instâncias ou clusters de computação em vez disso.

Você pode definir um Destino de computação padrão para o pipeline inteiro, que informará a cada componente para usar o mesmo destino de computação por padrão. No entanto, você pode especificar destinos de computação por módulo.

  1. Ao lado do nome do pipeline, selecione o ícone de engrenagemScreenshot of the gear icon that is in the UI. na parte superior da tela para abrir o painel Configurações.

  2. No painel Configurações à direita da tela, selecione Selecionar de destino de computação.

    Se já tiver um destino de computação disponível, você poderá selecioná-lo para executar esse pipeline.

  3. Insira um nome para o recurso de computação.

  4. Clique em Salvar.

    Observação

    A criação de um recurso de computação demora aproximadamente cinco minutos. Depois que o recurso for criado, você poderá reutilizá-lo e ignorar esse tempo de espera para execuções futuras.

    O recurso de computação será dimensionado automaticamente para zero nós quando estiver ocioso, a fim de economizar custos. Ao usá-lo novamente após um atraso, talvez precise aguardar aproximadamente cinco minutos enquanto ele é escalado verticalmente mais uma vez.

Importar dados

Há vários conjuntos de dados de exemplo incluídos no designer para que você possa fazer experimentos. Neste tutorial, use os Dados de preços de automóveis (brutos) .

  1. À esquerda da tela do pipeline há uma paleta de conjuntos de dados e componentes. Selecione Conjuntos de dados de exemplo para exibir os conjuntos de dados de exemplo disponíveis.

  2. Selecione o conjunto de dados Dados de preços de automóveis (Brutos) e arraste-o para a tela.

    Gif of dragging the Automobile price data to the canvas.

Visualizar os dados

Você pode visualizar os dados para entender o conjunto de dados que será usado.

  1. Clique com o botão direito do mouse nos Dados de preço do automóvel (Brutos) e selecione Visualizar dados.

  2. Selecione as diferentes colunas na janela de dados para exibir informações sobre cada um.

    Cada linha representa um automóvel e as variáveis associadas a cada automóvel aparecem como colunas. Há 205 linhas e 26 colunas nesse conjunto de dados.

Preparar dados

Os conjuntos de dados normalmente exigem algum pré-processamento antes da análise. Talvez você tenha observado alguns valores ausentes quando inspecionou o conjunto de dados. Esses valores ausentes precisam ser limpos para que o modelo possa analisar os dados corretamente.

Remover uma coluna

Quando treina um modelo, você precisa fazer algo sobre os dados que estão faltando. Neste conjunto de dados, a coluna normalized-losses tem muitos valores ausentes; portanto, você a excluirá do modelo completamente.

  1. Na paleta de componentes à esquerda da tela, expanda a seção Transformação de Dados e localize o componente Selecionar colunas no conjunto de dados.

  2. Arraste Selecionar Colunas no Conjunto de Dados para a tela. Solte o componente abaixo do componente Conjunto de dados.

  3. Conecte o conjunto de dados Dados de preços de automóveis (Brutos) ao componente Selecionar Colunas no Conjunto de Dados. Arraste da porta de saída do conjunto de dados, que é o pequeno círculo na parte inferior do conjunto de dados na tela, até a porta de entrada de Selecionar colunas no conjunto de dados, que é o pequeno círculo na parte superior do componente.

    Dica

    Crie um fluxo de dados por meio do seu pipeline quando você conectar a porta de saída de um componente a uma porta de entrada de outro.

    Screenshot of connecting Automobile price data component to select columns in dataset component.

  4. Selecione o componente Selecionar Colunas no Conjunto de Dados.

  5. No painel de detalhes do componente à direita da tela, selecione Editar coluna.

  6. Expanda o menu suspenso Nomes de coluna ao lado de Incluir e selecione Todas as colunas.

  7. Selecione o + para adicionar uma nova regra.

  8. Nos menus suspensos, selecione Excluir e Nomes de coluna.

  9. Insira normalized-losses na caixa de texto.

  10. No canto inferior direito, selecione Salvar para fechar o seletor de coluna.

    Screenshot of select columns with exclude highlighted.

  11. Selecione o componente Selecionar Colunas no Conjunto de Dados.

  12. No painel detalhes do componente à direita da tela, marque a caixa de texto Comentário e insira Excluir perdas normalizadas.

    Os comentários serão exibidos no grafo para ajudar você a organizar seu pipeline.

Limpar dados ausentes

Seu conjunto de dados ainda tem valores ausentes após a remoção da coluna normalized-losses. Você pode remover os dados ausentes restantes usando o componente Limpar Dados Ausentes.

Dica

Limpar os valores ausentes dos dados de entrada é um pré-requisito para usar a maioria dos componentes do designer.

  1. Na paleta de componentes à esquerda da tela, expanda a seção Transformação de Dados e localize o componente Limpar Dados Ausentes.

  2. Arraste o componente Limpar Dados Ausentes para a tela do pipeline. Conecte-o ao componente Selecionar Colunas no Conjunto de Dados.

  3. Selecione o componente Limpar Dados Ausentes.

  4. No painel de detalhes do componente à direita da tela, selecione Editar Coluna.

  5. Na janela Colunas a serem limpas que é exibida, expanda o menu suspenso ao lado de Incluir. Selecione Todas as colunas

  6. Selecione Salvar

  7. No painel detalhes do componente à direita da tela, selecione Remover linha inteira em Modo de limpeza.

  8. No painel detalhes do componente à direita da tela, marque a caixa de texto Comentário e insira Remover linhas com valores ausentes.

    Agora, seu pipeline deve ser semelhante ao seguinte:

    Screenshot of automobile price data connected to select columns in dataset component, which is connected to clean missing data.

Treinar um modelo de machine learning

Agora que você tem os componentes em vigor para processar os dados, configure os componentes de treinamento.

Como você deseja prever o preço, que é um número, use um algoritmo de regressão. Para este exemplo, você usará um modelo de regressão linear.

Dividir os dados

A divisão de dados é uma tarefa comum no aprendizado de máquina. Você dividirá os dados em dois conjuntos de dados separados. Um conjunto de dados treinará o modelo e o outro testará o desempenho do modelo.

  1. Na paleta de componentes, expanda a seção Transformação de Dados e localize o componente Dividir Dados.

  2. Arraste o componente Dividir Dados até a tela do pipeline.

  3. Conecte a porta esquerda do componente Limpar Dados Ausentes ao componente Dividir Dados.

    Importante

    Verifique se as portas de saída esquerdas de Limpar Dados Ausentes se conectam a Dividir Dados. A porta esquerda contém os dados limpos. A porta direita contém os dados descartados.

  4. Selecione o componente Dividir Dados.

  5. No painel de detalhes do componente à direita da tela, defina a Fração de linhas no primeiro conjunto de dados de saída como 0,7.

    Essa opção divide 70% dos dados para treinar o modelo e 30% para testá-lo. O conjunto de dados de 70% estará acessível por meio da porta de saída esquerda. Os dados restantes estarão disponíveis por meio da porta de saída direita.

  6. No painel detalhes do componente à direita da tela, marque a caixa Comentário e insira Dividir o conjunto de dados em um conjunto de treinamento (0,7) e conjunto de teste (0,3) .

Treinar o modelo

Treine o modelo fornecendo a ele um conjunto de dados que inclua o preço. O algoritmo constrói um modelo que explica a relação entre os recursos e o preço, conforme apresentado pelos dados de treinamento.

  1. Na paleta de componentes, expanda Algoritmos de Machine Learning.

    Essa opção exibe várias categorias de componentes que podem ser usados para inicializar algoritmos de aprendizado.

  2. Selecione Regressão>Regressão Linear e arraste-a para a tela do pipeline.

  3. Na paleta de componentes, expanda a seção Treinamento de módulo e arraste o componente Treinar Modelo até a tela.

  4. Conecte a saída do componente Regressão Linear à entrada esquerda do componente Treinar Modelo.

  5. Conecte-se a saída dos dados de treinamento (porta esquerda) do componente Dividir Dados à entrada à direita do componenteTreinar Modelo.

    Importante

    Verifique se as portas de saída esquerdas de Dividir Dados se conectam a Treinar Modelo. A porta esquerda contém o conjunto de treinamento. A porta direita contém o conjunto de teste.

    Screenshot showing the Linear Regression connects to left port of Train Model and the Split Data connects to right port of Train Model.

  6. Selecione o componente Treinar Modelo.

  7. No painel de detalhes do componente à direita da tela, selecione o seletor Editar Coluna.

  8. Na caixa de diálogo Coluna de rótulo, expanda o menu suspenso e selecione Nomes de colunas.

  9. Na caixa de texto, insira preço para especificar o valor que o modelo vai prever.

    Importante

    É necessário que você insira o nome exato da coluna. Não use letras maiúsculas em price.

    Seu pipeline deve ter esta aparência:

    Screenshot showing the correct configuration of the pipeline after adding the Train Model component.

Adicionar o componente Pontuar Modelo

Depois de treinar o modelo usando 70% dos dados, você poderá usá-lo para pontuar os outros 30% e ver se o modelo funciona corretamente.

  1. Insira pontuar modelo na caixa de pesquisa para encontrar o componente Pontuar Modelo. Arraste o componente até a tela do pipeline.

  2. Conecte a saída do componente Treinar Modelo à porta de entrada esquerda de Pontuar Modelo. Conecte a saída de dados de teste (porta direita) do módulo Dividir Dados à porta de entrada direita do componente Pontuar Modelo.

Adicionar o componente Avaliar Modelo

Use o componente Avaliar Modelo para avaliar o desempenho do modelo na pontuação do conjunto de dados de teste.

  1. Insira avaliar na caixa de pesquisa para encontrar o componente Avaliar Modelo. Arraste o componente até a tela do pipeline.

  2. Conecte a saída do componente Pontuar Modelo à entrada esquerda de Avaliar Modelo.

    O pipeline final deve ser semelhante ao seguinte:

    Screenshot showing the correct configuration of the pipeline.

Enviar o pipeline

Agora que o pipeline está configurado, você poderá enviar uma execução de pipeline para treinar seu modelo de machine learning. Você pode enviar uma execução de pipeline válida a qualquer momento, que pode ser usada para examinar as alterações no pipeline durante o desenvolvimento.

  1. Na parte superior da tela, selecione Enviar.

  2. Na caixa de diálogo Configurar trabalho de pipeline, selecione Criar.

    Observação

    Pipelines semelhantes no grupo de experimentos são executados juntos. Se executar um pipeline várias vezes, você poderá selecionar o mesmo experimento para execuções sucessivas.

    1. Para obter um Novo nome do experimento, insira Tutorial-CarPrices.

    2. Selecione Enviar.

    3. Você verá uma lista de envio no painel esquerdo da tela, e uma notificação será exibida no canto superior direito da página. Selecione o link Detalhes do trabalho para acessar a página de detalhes do trabalho para depuração.

      Screenshot of the submitted jobs list with a success notification.

    Se essa for a primeira execução do pipeline, ela poderá levar até 20 minutos para ser concluída. As configurações de computação padrão têm um tamanho de nó mínimo de 0, o que significa que o designer precisa alocar recursos depois de ficar ocioso. Execuções de pipeline repetidas levarão menos tempo, já que os recursos de computação já estão alocados. Além disso, o designer usa resultados armazenados em cache para cada componente para melhorar ainda mais a eficiência.

Exibir os rótulos pontuados

Na página de detalhes do trabalho, verifique o status do trabalho de pipeline, os resultados e os logs.

Screenshot showing the pipeline job detail page.

Depois que a execução for concluída, você poderá exibir os resultados da execução do pipeline. Primeiro, examine as previsões geradas pelo modelo de regressão.

  1. Clique com o botão direito do mouse no componente Modelo de Pontuação e selecione Visualizar dados>Conjunto de dados pontuado para ver a saída dele.

    Aqui você poderá ver os preços previstos e os preços reais dos dados de teste.

    Screenshot of the output visualization highlighting the Scored Label column.

Avaliar os modelos

Use Avaliar Modelo para ver como o desempenho do modelo treinado no conjunto de dados de teste.

  1. Clique com o botão direito do mouse no componente Avaliar Modelo e selecione Visualizar dados>Resultados da avaliação para ver a saída dele.

As seguintes estatísticas são mostradas para o modelo:

  • MAE (Média de Erros Absolutos) : A média de erros absolutos. Um erro é a diferença entre o valor previsto e o valor real.
  • RMSE (Raiz Quadrada da Média de Erros Quadrados) : a raiz quadrada da média de erros quadrados de previsões feitas no conjunto de dados de teste.
  • Erro absoluto relativo: a média de erros absolutos relativos à diferença absoluta entre os valores reais e a média de todos os valores reais.
  • Erro ao quadrado relativo: a média de erros quadrados relativos à diferença quadrada entre os valores reais e a média de todos os valores reais.
  • Coeficiente de determinação: Também conhecida como o valor de R-quadrado, essa métrica estatística indica se o modelo se ajusta bem aos dados.

Para cada estatística de erro, menos é melhor. Um valor menor indica que as previsões estão mais próximas dos valores reais. Quanto ao coeficiente de determinação, quanto mais próximo o valor estiver de um (1), melhores serão as previsões.

Limpar os recursos

Ignore esta seção se desejar prosseguir com a parte 2 do tutorial, implantar modelos.

Importante

Você pode usar os recursos que criou como pré-requisitos em outros tutoriais e artigos de instruções do Serviço do Azure Machine Learning.

Excluir tudo

Se você não pretende usar os recursos criados, exclua todo o grupo de recursos para não gerar encargos.

  1. No portal do Azure, selecione Grupos de recursos no lado esquerdo da janela.

    Delete resource group in the Azure portal

  2. Na lista, selecione o grupo de recursos que você criou.

  3. Selecione Excluir grupo de recursos.

A exclusão de um grupo de recursos também exclui todos os recursos criados no designer.

Excluir recursos individuais

No designer em que você criou seu experimento, exclua ativos individuais selecionando-os e, em seguida, selecionando o botão Excluir.

O destino de computação que você criou aqui é dimensionado automaticamente para zero nós quando não estiver sendo usado. Essa ação é executada para minimizar encargos. Se você quiser excluir o destino de computação, siga estas etapas:

Delete assets

É possível cancelar o registro de conjuntos de dados do seu workspace selecionando cada conjunto de dados e, Cancelar registro.

Unregister dataset

Para excluir um conjunto de dados, acesse a conta de armazenamento usando o portal do Azure ou o Gerenciador de Armazenamento do Azure e exclua manualmente esses ativos.

Próximas etapas

Na segunda parte, você aprenderá a implantar seu modelo como um ponto de extremidade em tempo real.