Você está na página 1de 14

Executar um experimento de aprendizado de máquina automatizado

No Azure Machine Learning, as operações executadas são chamadas de experimentos.


Siga as etapas abaixo para executar um experimento que usa o machine learning
automatizado para treinar um modelo de regressão que prevê os aluguéis de bicicletas.
1.No estúdio do Azure Machine Learning, veja a página ML
Automatizado (em Criar).
2.Crie uma execução de ML automatizado com as seguintes configurações:
•Selecionar conjunto de dados:
•Conjunto de dados: bike-rentals
•Configurar a execução:
•Nome do novo experimento: mslearn-bike-rental
•Coluna de destino: aluguéis (este é o rótulo que o modelo será treinado
para prever)
•Selecionar cluster de cálculo: o cluster de cálculo que você criou
anteriormente
•Selecione a tarefa e as configurações:
•Tipo de tarefa: regressão (o modelo preverá um valor numérico)
Observe que, sob o tipo de tarefa, há as configurações Exibir definições de configuração
adicionais e Exibir configurações de definição de recursos. Definiremos essas
configurações em seguida.
•Definições de configuração adicionais:
•Métrica primária: selecione Raiz do erro quadrático médio
normalizada (abordaremos mais sobre essa métrica mais tarde.)
•Explicar o melhor modelo: selecionado- esta opção faz o machine learning
automatizado calcular a importância do recurso para o melhor modelo; tornando
possível determinar a influência de cada recurso no rótulo previsto.
•Algoritmos bloqueados: bloqueie todos, exceto RandomForest e LightGBM –
normalmente seria interessante experimentar o máximo possível, mas fazer isso
pode levar muito tempo!
•Critério de saída:
•Tempo do trabalho de treinamento (horas): 0,5 – isso faz o experimento ser
encerrado após no máximo 30 minutos.
•Limite de pontuação da métrica: 0,08 – faz com que o teste seja encerrado
quando um modelo atinge uma pontuação de raiz do erro quadrático médio
normalizada igual a 0,08 ou menos.
•Configurações de definição de recursos:
•Habilitar a definição de recursos: Selecionado – isso faz o Azure Machine
Learning pré-processar automaticamente os recursos antes do treinamento.
3.Quando você terminar de enviar os detalhes de execução do ML automatizado, ele
será iniciado automaticamente. Aguarde até que o status de execução mude
de Preparando para Em execução.
4.Quando o status da execução for alterado para Em execução, exiba a
guia Modelos e observe conforme cada combinação possível de algoritmo de
treinamento e etapas de pré-processamento é tentada e conforme o desempenho do
modelo resultante é avaliado. A página será automaticamente atualizada de tempos
em tempos, mas você também poderá selecionar ↻ Atualizar. Pode levar dez
minutos ou mais para os modelos começarem a aparecer, pois os nós de cluster
precisam ser inicializados para que o treinamento seja iniciado.
5.Aguarde a conclusão do experimento. Pode levar um tempo, e agora pode ser um
bom momento para um café!

Examinar o melhor modelo

Após a conclusão do experimento, você poderá examinar o modelo com o melhor


desempenho que foi gerado (observe que, neste caso, usamos critérios de saída para
interromper o experimento – portanto, o "melhor" modelo encontrado pelo experimento
pode não ser o melhor modelo possível, apenas o melhor encontrado dentro do tempo
permitido para este exercício!).
1.Na guia Detalhes da execução do machine learning automatizado, observe o
resumo do melhor modelo.
2.Selecione o Nome do algoritmo para o melhor modelo exibir os detalhes dele.
O melhor modelo é identificado com base na métrica de avaliação que você
especificou (Raiz do erro quadrático médio normalizada). Para calcular essa métrica,
o processo de treinamento usou alguns dados para treinar o modelo e aplicou uma
técnica chamada de validação cruzada para testar iterativamente o modelo treinado
com os dados com os quais ele não foi treinado e comparar o valor previsto com o
valor real conhecido.
A diferença entre o valor previsto e o real (conhecido como residuais) indica a
quantidade de erro no modelo, e essa métrica de desempenho específica é
calculada elevando ao quadrado os erros em todos os casos de teste, encontrando a
média desses quadrados e extraindo a raiz quadrada. O que tudo isso significa é
que quanto menor for esse valor, mais precisamente o modelo fará a previsão.
3.Ao lado do valor de Raiz do erro quadrático médio normalizada, selecione Exibir
todas as outras métricas para ver os valores das outras métricas de avaliação
possíveis para um modelo de regressão.
4.Selecione a guia Métricas e selecione os gráficos residuais e predicted_true se
eles ainda não estiverem selecionados.

Em seguida, examine os gráficos, que mostram o desempenho do modelo, comparando


os valores previstos com os valores verdadeiros e mostrando os residuais (diferenças
entre valores previstos e reais) como um histograma.
O gráfico Previsto versus Verdadeiro deve mostrar uma tendência diagonal em que o
valor previsto se correlaciona de perto com o valor verdadeiro. Uma linha pontilhada
mostra como deve ser o desempenho de um modelo perfeito, e quanto mais próxima a
linha do valor médio previsto do seu modelo estiver disso, melhor será o desempenho.
Um histograma embaixo do gráfico de linhas mostra a distribuição de valores verdadeiros.

O Histograma Residual mostra a frequência de intervalos de valores residuais. Os


residuais representam a variância entre os valores previstos e verdadeiros que não pode
ser explicada pelo modelo – em outras palavras, os erros; portanto, o que você deve
esperar ver é que os valores residuais que ocorrem com mais frequência estão agrupados
em torno de 0 (em outras palavras, a maioria dos erros é pequena), com menos erros nas
extremidades da escala.

5.Selecione a guia Explicações. Clique nas setas >> ao lado de ID de


Explicação para expandir a lista de explicações. Selecione uma ID de explicação,
selecione Exibir a experiência do painel anterior no lado direito. Em seguida,
selecione Importância Global. O gráfico mostra a quantidade de cada recurso no
conjunto de dados que influencia a previsão de rótulo, da seguinte forma:
Implantar um serviço de previsão
No Azure Machine Learning, você pode implantar um serviço como ACI (Instâncias de
Contêiner do Azure) ou em um cluster do AKS (Serviço de Kubernetes do Azure). Para
cenários de produção, é recomendável uma implantação do AKS, para a qual você
precisa criar um destino de computação do cluster de inferência. Neste exercício, você
usará um serviço ACI, que é um destino de implantação adequado para teste e não exige
que você crie um cluster de inferência.
1.No Estúdio do Azure Machine Learning, na página ML Automatizado, selecione a
execução para o experimento de machine learning automatizado.
2.Na guia Detalhes, selecione o nome do algoritmo para o melhor modelo.

3.Na guia Modelo, use o botão Implantar para implantar o modelo com as seguintes


configurações:
•Nome: predict-rentals
•Descrição: prever aluguéis de bicicleta
•Tipo de computação: instância de Contêiner do Azure
•Habilitar autenticação: Selecionado
4.Aguarde até o início da implantação – isso pode levar alguns segundos. Em
seguida, na seção Resumo do modelo, observe o Status da implantação para o
serviço predict-rentals, que seria Em execução. Aguarde até que esse status seja
alterado para Com êxito. Talvez seja necessário selecionar ↻
Atualizar periodicamente.
5.No estúdio do Azure Machine Learning, veja a página Pontos de extremidade e
selecione o ponto de extremidade em tempo real predict-rentals. Em seguida,
selecione a guia Consumir e observe as informações a seguir. Você precisa dessas
informações para se conectar ao serviço implantado de um aplicativo cliente.
•O ponto de extremidade REST do serviço
•A chave primária do serviço
6.Observe que você pode usar o link ⧉ ao lado desses valores para copiá-los para a
área de transferência.

Testar o serviço implantado


Agora que você implantou um serviço, pode testá-lo usando um código simples.
1.Com a página Consumir para a página de serviço predict-rentals aberta no
navegador, abra uma nova guia do navegador e abra uma segunda instância
do estúdio do Azure Machine Learning. Na nova guia, veja a
página Notebooks (em Autor).
2.Na página Notebooks, em Meus arquivos, use o botão 🗋 para criar um arquivo
com as seguintes configurações:
•Localização do arquivo: Users/seu nome de usuário
•Nome do arquivo: Test-Bikes.ipynb
•Tipo de arquivo: Notebook
•Substituir se já existir: Selecionado
3.Após a criação do notebook, verifique se a instância de computação que você criou
anteriormente está selecionada na caixa Computação e se o status dela é Em
execução.
4.Use o botão ≪ para recolher o painel do explorador de arquivos e obter mais
espaço para se concentrar na guia do notebook Test-Bikes.ipynb.
5.Na célula retangular que foi criada no notebook, cole o seguinte código:

PythonCopiar
endpoint = 'YOUR_ENDPOINT' #Replace with your endpoint
key = 'YOUR_KEY' #Replace with your key

import json
import requests

#An array of features based on five-day weather forecast


x = [[1,1,2022,1,0,6,0,2,0.344167,0.363625,0.805833,0.160446],
[2,1,2022,1,0,0,0,2,0.363478,0.353739,0.696087,0.248539],
[3,1,2022,1,0,1,1,1,0.196364,0.189405,0.437273,0.248309],
[4,1,2022,1,0,2,1,1,0.2,0.212122,0.590435,0.160296],
[5,1,2022,1,0,3,1,1,0.226957,0.22927,0.436957,0.1869]]

#Convert the array to JSON format


input_json = json.dumps({"data": x})

#Set the content type and authentication for the request


headers = {"Content-Type":"application/json",
"Authorization":"Bearer " + key}

#Send the request


response = requests.post(endpoint, input_json, headers=headers)

#If we got a valid response, display the predictions


if response.status_code == 200:
y = json.loads(response.json())
print("Predictions:")
for i in range(len(x)):
print (" Day: {}. Predicted rentals: {}".format(i+1, max(0, round(y["result"][i]))))
else:
print(response)
 Observação
Não se preocupe muito com os detalhes do código. Ele apenas define os recursos
para um período de cinco dias usando dados hipotéticos de previsão meteorológica
e usa o serviço predict-rentals que você criou para prever aluguéis de bicicleta
para esses cinco dias.
6.Alterne para a guia do navegador que contém a página Consumir para o
serviço predict-rentals e copie o ponto de extremidade REST para o serviço. Em
seguida, volte para a guia que contém o notebook e cole a chave no código,
substituindo YOUR_ENDPOINT.
7.Alterne para a guia do navegador que contém a página Consumir para o
serviço predict-rentals e copie a chave primária para o serviço. Em seguida, volte
para a guia que contém o notebook e cole a chave no código, substituindo
YOUR_KEY.
8.Salve o notebook e use o botão ▷ ao lado da célula para executar o código. Você
obterá previsões do número de locações de bicicletas esperadas por dia.

9.Verifique se o número previsto de aluguéis para cada dia no período de cinco dias
é retornado.
Vamos revisar o que você fez. Você usou um conjunto de dados históricos de locação de
bicicletas para treinar um modelo. O modelo prevê o número de locações de bicicletas
esperadas em um determinado dia, com base em recursos sazonais e meteorológicos.
Nesse caso, os rótulos são o número de locações de bicicletas.

Você também pode gostar