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?
Observação
O Designer tem suporte para dois tipos de componentes, componentes predefinidos clássicos (v1) e componentes personalizados (v2). Esses dois tipos de componentes NÃO são compatíveis.
Os componentes predefinidos clássicos fornecem componentes predefinidos principalmente para processamento de dados e tarefas tradicionais de aprendizado de máquina, como regressão e classificação. Esse tipo de componente continua com suporte, mas não terá componentes novos adicionados.
Componentes personalizados permitem que você envolva seu próprio código como um componente. Ele tem suporte para o compartilhamento de componentes entre espaços de trabalho e à criação contínua nas interfaces Studio, CLI v2 e SDK v2.
Para novos projetos, sugerimos que você use o componente personalizado, que é compatível com o AzureML V2 e continuará recebendo novas atualizações.
Este artigo se aplica a componentes predefinidos clássicos e não são compatíveis com a CLI v2 e o SDK v2.
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 recursos de workspace.
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
Observação
O designer dá suporte a dois tipos de componentes, componentes predefinidos clássicos e componentes personalizados. Esses dois tipos de componentes não são compatíveis.
Os componentes predefinidos clássicos fornecem componentes predefinidos principalmente para processamento de dados e tarefas tradicionais de aprendizado de máquina, como regressão e classificação. Esse tipo de componente continua com suporte, mas não terá componentes novos adicionados.
Os componentes personalizados permitem que você forneça seu próprio código como um componente. Com suporte para compartilhamento entre os workspaces e as criação contínua nas interfaces SDK, CLI e Studio.
Este artigo se aplica a componentes predefinidos clássicos.
Entre em ml.azure.com e selecione o workspace com o qual deseja trabalhar.
Selecione Designer –>Clássico predefinido
Selecione Criar um pipeline usando componentes clássicos predefinidos.
Clique no ícone de lápis ao lado do nome do rascunho do pipeline gerado automaticamente, renomeie-o como Previsão de preço de automóvel. O nome não precisa ser exclusivo.
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) .
À esquerda da tela do pipeline há uma paleta de conjuntos de dados e componentes. Selecione Componente –>Exemplo de dados.
Selecione o conjunto de dados Dados de preços de automóveis (Brutos) e arraste-o para a tela.
Visualizar os dados
Você pode visualizar os dados para entender o conjunto de dados que será usado.
Clique com o botão direito do mouse nos Dados de preço do automóvel (Brutos) e selecione Visualizar dados.
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.
Nos conjuntos de dados e na paleta de componentes à esquerda da tela, clique em Componente e pesquise o componente Selecionar Colunas no Conjunto de Dados.
Arraste Selecionar Colunas no Conjunto de Dados para a tela. Solte o componente abaixo do componente Conjunto de dados.
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.
Selecione o componente Selecionar Colunas no Conjunto de Dados.
Clique no ícone de seta em Configurações à direita da tela para abrir o painel de detalhes do componente. Como alternativa, você pode clicar duas vezes no componente Selecionar Colunas no Conjunto de Dados para abrir o painel de detalhes.
Selecione Editar coluna à direita do painel.
Expanda o menu suspenso Nomes de coluna ao lado de Incluir e selecione Todas as colunas.
Selecione o + para adicionar uma nova regra.
Nos menus suspensos, selecione Excluir e Nomes de coluna.
Insira normalized-losses na caixa de texto.
No canto inferior direito, selecione Salvar para fechar o seletor de coluna.
No painel de detalhes do componente Selecionar colunas no conjunto de dados, expanda Informações do nó.
Selecione 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.
Nos conjuntos de dados e na paleta de componentes à esquerda da tela, clique em Componente e pesquise o componente Limpar Dados Ausentes.
Arraste o componente Limpar Dados Ausentes para a tela do pipeline. Conecte-o ao componente Selecionar Colunas no Conjunto de Dados.
Selecione o componente Limpar Dados Ausentes.
Clique no ícone de seta em Configurações à direita da tela para abrir o painel de detalhes do componente. Como alternativa, você pode clicar duas vezes no componente Limpar Dados Ausentes para abrir o painel de detalhes.
Selecione Editar coluna à direita do painel.
Na janela Colunas a serem limpas que é exibida, expanda o menu suspenso ao lado de Incluir. Selecione Todas as colunas
Selecione Salvar
No painel de detalhes do componente Limpar Dados Ausentes, em Modo de limpeza, selecione Remover linha inteira.
No painel de detalhes do componente Limpar Dados Ausentes, expanda Informações do nó.
Selecione a caixa de texto Comentário e insira Remover linhas de valor ausentes.
Agora, seu pipeline deve ser semelhante ao seguinte:
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.
Nos conjuntos de dados e na paleta de componentes à esquerda da tela, clique em Componente e pesquise o componente Dividir Dados.
Arraste o componente Dividir Dados até a tela do pipeline.
Conecte a porta esquerda do componente Limpar Dados Ausentes ao componente Dividir Dados.
Importante
Verifique se a porta de saída esquerda de Limpar Dados Ausentes se conecta a Dividir Dados. A porta esquerda contém os dados limpos. A porta direita contém os dados descartados.
Selecione o componente Dividir Dados.
Clique no ícone de seta em Configurações à direita da tela para abrir o painel de detalhes do componente. Como alternativa, você pode clicar duas vezes no componente Dividir Dados para abrir o painel de detalhes.
No painel de detalhes Dividir Dados, 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.
No painel detalhes de Dividir Dados, expanda Informações do nó.
Selecione a caixa de texto Comentários e insira Dividir o conjunto de dados em 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.
Nos conjuntos de dados e na paleta de componentes à esquerda da tela, clique em Componente e pesquise o componente Regressão Linear.
Arraste o componente Regressão Linear para a tela do pipeline.
Nos conjuntos de dados e na paleta de componentes à esquerda da tela, clique em Componente e pesquise o componente Treinar Modelo.
Arraste o componente Treinar Modelo para a tela do pipeline.
Conecte a saída do componente Regressão Linear à entrada esquerda do componente Treinar Modelo.
Conecte-se a saída dos dados de treinamento (porta esquerda) do componente Dividir Dados à entrada à direita do componenteTreinar Modelo.
Importante
Verifique se a porta de saída esquerda de Dividir Dados se conecta a Treinar Modelo. A porta esquerda contém o conjunto de treinamento. A porta direita contém o conjunto de teste.
Selecione o componente Treinar Modelo.
Clique no ícone de seta em Configurações à direita da tela para abrir o painel de detalhes do componente. Como alternativa, você pode clicar duas vezes no componente Treinar Modelo para abrir o painel de detalhes.
Selecione Editar coluna à direita do painel.
Na janela Coluna de rótulo que aparece, expanda o menu suspenso e selecione Nomes de colunas.
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:
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.
Nos conjuntos de dados e na paleta de componentes à esquerda da tela, clique em Componente e pesquise o componente Pontuar Modelo.
Arraste o componente Pontuar Modelo para a tela do pipeline.
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.
Nos conjuntos de dados e na paleta de componentes à esquerda da tela, clique em Componente e pesquise o componente Avaliar Modelo.
Arraste o componente Avaliar Modelo para a tela do pipeline.
Conecte a saída do componente Pontuar Modelo à entrada esquerda de Avaliar Modelo.
O pipeline final deve ser semelhante ao seguinte:
Enviar pipeline
Selecione Configurar e Enviar no canto superior direito para enviar o pipeline.
Em seguida, você verá um assistente passo a passo. Siga o assistente para enviar o trabalho de pipeline.
Na etapa Noções Básicas, você pode configurar o experimento, o nome de exibição do trabalho, a descrição do trabalho etc.
Na etapa Saídas e Entradas, você pode atribuir valor às Entradas/Saídas promovidas ao nível do pipeline. Nesse exemplo, ele estará vazio porque não promovemos nenhuma entrada/saída para o nível do pipeline.
Em Configurações de runtime, você pode definir o armazenamento de dados padrão e a computação padrão para o pipeline. É o armazenamento de dados/computação padrão para todos os componentes no pipeline. No entanto, se você definir um armazenamento de dados ou computação diferente para um componente explicitamente, o sistema respeitará a configuração de nível de componente. Caso contrário, ele usará o padrão.
A etapa Examinar + Enviar é a última etapa para examinar todas as configurações antes de enviar. O assistente se lembrará de sua última configuração se você enviar o pipeline.
Depois de enviar o trabalho de pipeline, haverá uma mensagem na parte superior com um link para os detalhes do trabalho. Você pode selecionar este link para examinar os detalhes do trabalho.
Exibir os rótulos pontuados
Na página de detalhes do trabalho, verifique o status do trabalho de pipeline, os resultados e os logs.
Depois que o trabalho for concluído, você poderá exibir os resultados do trabalho do pipeline. Primeiro, examine as previsões geradas pelo modelo de regressão.
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.
Avaliar os modelos
Use Avaliar Modelo para ver como o desempenho do modelo treinado no conjunto de dados de teste.
- 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.
No portal do Azure, selecione Grupos de recursos no lado esquerdo da janela.
Na lista, selecione o grupo de recursos que você criou.
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:
É possível cancelar o registro de conjuntos de dados do seu workspace selecionando cada conjunto de dados e, Cancelar registro.
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.