Tutorial do Azure: Prevendo os preços do gás usando o Azure Machine Learning Studio
Publicados: 2022-03-11E se você pudesse prever se sua ação de escolha subiria ou cairia durante o próximo mês? Ou se seu time de futebol favorito ganhasse ou perdesse a próxima partida? Como você pode fazer tais previsões? Talvez o aprendizado de máquina possa fornecer parte da resposta. Cortana, o novo assistente pessoal digital desenvolvido pelo Bing que vem com o Windows Phone 8.1 previu com precisão 15 das 16 partidas da Copa do Mundo da FIFA 2014.
Neste tutorial do Azure, exploraremos os recursos e capacidades do Azure Machine Learning por meio da solução de um dos problemas que enfrentamos em nossas vidas cotidianas.
Do ponto de vista do desenvolvedor de aprendizado de máquina, os problemas podem ser divididos em dois grupos - aqueles que podem ser resolvidos usando métodos padrão e aqueles que não podem ser resolvidos usando métodos padrão. Infelizmente, a maioria dos problemas da vida real pertence ao segundo grupo. É aqui que o aprendizado de máquina entra em ação. A ideia básica é usar máquinas para encontrar padrões significativos em dados históricos e usá-los para resolver o problema.
O problema
Os preços do gás são provavelmente um dos itens que já estão no orçamento da maioria das pessoas. O aumento ou diminuição constante também pode influenciar os preços de outros mantimentos e serviços. Existem muitos fatores que podem influenciar os preços do gás, desde condições climáticas até decisões políticas e taxas administrativas, e até fatores totalmente imprevisíveis, como desastres naturais ou guerras.
O plano para este tutorial de aprendizado de máquina do Azure é investigar alguns dados acessíveis e encontrar correlações que podem ser exploradas para criar um modelo de previsão.
Estúdio de Aprendizado de Máquina do Azure
O Azure Machine Learning Studio é um ambiente de desenvolvimento integrado (IDE) baseado na Web para desenvolver experimentos de dados. Ele está intimamente ligado ao restante dos serviços de nuvem do Azure e simplifica o desenvolvimento e a implantação de modelos e serviços de aprendizado de máquina.
Criando o experimento
Há cinco etapas básicas para criar um exemplo de aprendizado de máquina. Examinaremos cada uma dessas etapas desenvolvendo nosso próprio modelo de previsão para os preços do gás.
Obtendo os dados
A coleta de dados é uma das etapas mais importantes desse processo. A relevância e a clareza dos dados são a base para a criação de bons modelos de previsão. O Azure Machine Learning Studio fornece vários conjuntos de dados de exemplo. Outra grande coleção de conjuntos de dados pode ser encontrada em archive.ics.uci.edu/ml/datasets.html.
Depois de coletar os dados, precisamos carregá-los no Studio por meio de seu mecanismo simples de upload de dados:
Uma vez carregado, podemos visualizar os dados. A imagem a seguir mostra parte dos nossos dados que acabamos de enviar. Nosso objetivo aqui é prever o preço na coluna E95.
Nosso próximo passo é criar um novo experimento arrastando e soltando módulos do painel à esquerda na área de trabalho.
Dados de pré-processamento
O pré-processamento dos dados disponíveis envolve o ajuste dos dados disponíveis às suas necessidades. O primeiro módulo que usaremos aqui é “Estatística Descritiva”. Ele computa dados estatísticos a partir dos dados disponíveis. Além do módulo “Estatística Descritiva”, um dos módulos mais utilizados é o “Clean Missing Data”. O objetivo desta etapa é dar significado aos valores ausentes (nulos), substituindo-os por algum outro valor ou removendo-os completamente.
Definindo recursos
Outro módulo aplicado nesta etapa em nosso tutorial é o módulo “Seleção de recursos baseados em filtros”. Este módulo determina os recursos do conjunto de dados que são mais relevantes para os resultados que queremos prever. Neste caso, como você pode ver na imagem abaixo, os quatro recursos mais relevantes para os valores “E95” são “EDG BS”, “Oil”, “USD/HRK” e “EUR/USD”.
Como "EDG BS" é outro valor de "saída" que não pode ser usado para fazer previsões, selecionaremos apenas duas das características importantes restantes - que é o preço do petróleo e a taxa de câmbio na coluna USD/HRK.
A amostra do conjunto de dados após o processamento é mostrada abaixo:

Escolhendo e aplicando um algoritmo
Nosso próximo passo é dividir os dados disponíveis usando o módulo “Split”. A primeira parte dos dados (no nosso caso 80%) será usada para treinar o modelo e o restante é usado para pontuar o modelo treinado.
As etapas a seguir são as etapas mais importantes em todo o processo de aprendizado de máquina do Azure. O módulo “Train Model” aceita dois parâmetros de entrada. O primeiro são os dados brutos de treinamento e o outro é o algoritmo de aprendizado. Aqui, usaremos o algoritmo “Regressão Linear”. A saída do módulo “Train Model” é um dos parâmetros de entrada do módulo “Score Model”. O outro é o resto dos dados disponíveis. O Score Model adiciona uma nova coluna ao nosso conjunto de dados, Scored Labels. Os valores na coluna “Scored Labels” estão mais próximos dos valores de seus valores E95 correspondentes quando o algoritmo de aprendizado aplicado funciona bem com os dados disponíveis.
O módulo Avaliar Modelo nos dá uma avaliação do modelo treinado expresso em valores estatísticos. Se observarmos o “Coeficiente de Determinação”, podemos concluir que há cerca de 80% de chance de prever o preço correto usando este modelo.
Agora, vale a pena tentar usar o módulo “Regressão de Rede Neural”. Precisaremos adicionar novos módulos “Train Model” e “Score Model” e conectar a saída ao módulo “Evaluate Model” existente.
O módulo “Regressão de Rede Neural” requer um pouco mais de configuração. Como este é o módulo mais importante de todo o experimento, é onde devemos concentrar nossos esforços, ajustando e experimentando as configurações e a seleção do algoritmo de aprendizado apropriado como um todo.
Neste caso, o módulo Avaliar nos dá uma comparação de nossos dois modelos treinados. Novamente, com base no Coeficiente de Determinação, vemos que as Redes Neurais fornecem previsões um pouco menos precisas.
Neste ponto, podemos salvar os modelos treinados selecionados para uso futuro.
Quando temos um modelo treinado, podemos prosseguir com a criação do “Scoring Experiment”. Isso pode ser feito criando um novo experimento do zero ou usando o assistente do Azure Machine Learning Studio. Basta selecionar o modelo treinado e clicar em “Create Scoring Experiment”. Novos módulos que precisamos aqui são “entrada de serviço da Web” e “saída de serviço da Web”. Adicionaremos um módulo “Project Columns” para selecionar nossos valores de entrada e saída. Os valores de entrada são Petróleo e USD/HRK, e a saída é o valor previsto na coluna “Scored Labels” da saída “Score Model”.
A imagem abaixo mostra nosso experimento de pontuação após esses poucos ajustes e depois de conectar os módulos "entrada de serviço da Web" e "saída de serviço da Web" de acordo.
Outro recurso auxiliar bacana entra em jogo neste momento. Com o “Publish Web Service” você pode criar um serviço web simples hospedado na infraestrutura de nuvem do Azure.
Previsão de novos dados
Finalmente, podemos testar nosso serviço web de previsão usando um formulário de teste simples.
Conclusão
Por meio deste tutorial simples de aprendizado de máquina, mostramos como criar um serviço web de previsão totalmente funcional. O Azure Machine Learning Studio integrado à plataforma Azure pode ser uma ferramenta muito poderosa para criar experimentos de dados. Além do Machine Learning Studio, existem outras soluções de aprendizado de máquina, como Orange e Tiberious. Independentemente do ambiente de desenvolvimento que você gosta, eu o encorajo a explorar o aprendizado de máquina e encontrar seu cientista de dados interno.