Tutorial de Azure: Predicción de los precios de la gasolina con Azure Machine Learning Studio

Publicado: 2022-03-11

¿Qué pasaría si pudiera predecir si la acción de su elección subiría o bajaría durante el próximo mes? ¿O si tu equipo de fútbol favorito ganara o perdiera su próximo partido? ¿Cómo puedes hacer tales predicciones? Quizás el aprendizaje automático pueda proporcionar parte de la respuesta. Cortana, el nuevo asistente personal digital con tecnología de Bing que viene con Windows Phone 8.1, predijo con precisión 15 de los 16 partidos de la Copa Mundial de la FIFA 2014.

En este tutorial de Azure, exploraremos las características y capacidades de Azure Machine Learning mediante la resolución de uno de los problemas a los que nos enfrentamos en nuestra vida cotidiana.

Tutorial de aprendizaje automático de Azure

Desde el punto de vista del desarrollador de aprendizaje automático, los problemas se pueden dividir en dos grupos: los que se pueden resolver con métodos estándar y los que no se pueden resolver con métodos estándar. Desafortunadamente, la mayoría de los problemas de la vida real pertenecen al segundo grupo. Aquí es donde entra en juego el aprendizaje automático. La idea básica es usar máquinas para encontrar patrones significativos en datos históricos y usarlos para resolver el problema.

El problema

Los precios de la gasolina son probablemente uno de los elementos que ya están en el presupuesto de la mayoría de las personas. El aumento o disminución constante también puede influir en los precios de otros comestibles y servicios. Hay muchos factores que pueden influir en los precios de la gasolina, desde las condiciones climáticas hasta las decisiones políticas y las tarifas administrativas, y hasta factores totalmente impredecibles, como los desastres naturales o las guerras.

El plan para este tutorial de aprendizaje automático de Azure es investigar algunos datos accesibles y encontrar correlaciones que puedan aprovecharse para crear un modelo de predicción.

Estudio de aprendizaje automático de Azure

Azure Machine Learning Studio es un entorno de desarrollo integrado (IDE) basado en web para desarrollar experimentos de datos. Está estrechamente relacionado con el resto de los servicios en la nube de Azure y eso simplifica el desarrollo y la implementación de modelos y servicios de aprendizaje automático.

Crear el experimento

Hay cinco pasos básicos para crear un ejemplo de aprendizaje automático. Examinaremos cada uno de estos pasos mediante el desarrollo de nuestro propio modelo de predicción para los precios del gas.

Obtención de los datos

La recopilación de datos es uno de los pasos más importantes en este proceso. La relevancia y la claridad de los datos son la base para crear buenos modelos de predicción. Azure Machine Learning Studio proporciona varios conjuntos de datos de muestra. Puede encontrar otra gran colección de conjuntos de datos en archive.ics.uci.edu/ml/datasets.html.

Después de recopilar los datos, debemos cargarlos en Studio a través de su sencillo mecanismo de carga de datos:

Estudio de aprendizaje automático de Azure

Una vez cargados, podemos obtener una vista previa de los datos. La siguiente imagen muestra parte de nuestros datos que acabamos de cargar. Nuestro objetivo aquí es predecir el precio bajo la columna E95.

Estudio de aprendizaje automático

Nuestro siguiente paso es crear un nuevo experimento arrastrando y soltando módulos desde el panel de la izquierda al área de trabajo.

Azure Meachine Learning

Preprocesamiento de datos

El preprocesamiento de los datos disponibles implica ajustar los datos disponibles a sus necesidades. El primer módulo que usaremos aquí es "Estadística descriptiva". Calcula datos estadísticos a partir de los datos disponibles. Además del módulo "Estadísticas descriptivas", uno de los módulos más utilizados es "Limpiar datos faltantes". El objetivo de este paso es dar significado a los valores faltantes (nulos) reemplazándolos con algún otro valor o eliminándolos por completo.

Definición de funciones

Otro módulo aplicado en este paso en nuestro tutorial es el módulo "Selección de funciones basada en filtros". Este módulo determina las características del conjunto de datos que son más relevantes para los resultados que queremos predecir. En este caso, como puede ver en la imagen a continuación, las cuatro características más relevantes para los valores "E95" son "EDG BS", "Petróleo", "USD/HRK" y "EUR/USD".

selección de características basada en filtros

Dado que "EDG BS" es otro valor de "salida" que no se puede usar para hacer predicciones, seleccionaremos solo dos de las características importantes restantes: el precio del petróleo y la tasa de cambio en la columna USD/HRK.

A continuación se muestra una muestra del conjunto de datos después del procesamiento:

conjunto de datos de estudio azul

Elegir y aplicar un algoritmo

Nuestro siguiente paso es dividir los datos disponibles utilizando el módulo "Dividir". La primera parte de los datos (en nuestro caso, el 80 %) se utilizará para entrenar el modelo y el resto se utilizará para puntuar el modelo entrenado.

módulo dividido azul

Los siguientes pasos son los pasos más importantes en todo el proceso de aprendizaje automático de Azure. El módulo “Modelo de tren” acepta dos parámetros de entrada. Primero están los datos de entrenamiento sin procesar, y el otro es el algoritmo de aprendizaje. Aquí, usaremos el algoritmo de "Regresión lineal". La salida del módulo "Modelo de tren" es uno de los parámetros de entrada del módulo "Modelo de puntuación". El otro es el resto de los datos disponibles. Score Model agrega una nueva columna a nuestro conjunto de datos, Scored Labels. Los valores debajo de la columna "Etiquetas puntuadas" están más cerca de los valores de sus valores E95 correspondientes cuando el algoritmo de aprendizaje aplicado funciona bien con los datos disponibles.

módulo modelo de tren

El módulo Evaluate Model nos da una evaluación del modelo entrenado expresado en valores estadísticos. Si observamos el "Coeficiente de determinación", podemos concluir que existe alrededor de un 80% de posibilidades de predecir el precio correcto utilizando este modelo.

Ahora, vale la pena intentar usar el módulo "Regresión de red neuronal". Tendremos que agregar nuevos módulos "Modelo de entrenamiento" y "Modelo de puntaje" y conectar la salida al módulo "Evaluar modelo" existente.

módulo de regresión de redes neuronales

El módulo "Regresión de red neuronal" requiere un poco más de configuración. Dado que este es el módulo más importante de todo el experimento, es donde debemos centrar nuestros esfuerzos, ajustando y experimentando con la configuración y la selección del algoritmo de aprendizaje adecuado en su conjunto.

En este caso, el módulo Evaluar nos brinda una comparación de nuestros dos modelos entrenados. Nuevamente, según el coeficiente de determinación, vemos que las redes neuronales proporcionan predicciones un poco menos precisas.

modelo de evaluación azul

En este punto, podemos guardar los modelos entrenados seleccionados para uso futuro.

modelo entrenado azul

Cuando tenemos un modelo entrenado, podemos proceder con la creación del "Experimento de puntuación". Eso se puede hacer creando un nuevo experimento desde cero o usando el asistente de Azure Machine Learning Studio. Simplemente seleccione el modelo entrenado y haga clic en "Crear experimento de puntuación". Los nuevos módulos que necesitamos aquí son "Entrada de servicio web" y "Salida de servicio web". Agregaremos un módulo de "Columnas de proyecto" para seleccionar nuestros valores de entrada y salida. Los valores de entrada son Petróleo y USD/HRK, y la salida es el valor previsto en la columna "Etiquetas puntuadas" de la salida "Modelo de puntuación".

La siguiente imagen muestra nuestro experimento de puntuación después de estos pocos ajustes y después de conectar los módulos "Entrada de servicio web" y "Salida de servicio web" en consecuencia.

experimento de puntuación

Otra ingeniosa característica de ayuda entra en juego en este punto. Con "Publicar servicio web" puede crear un servicio web simple alojado en la infraestructura de nube de Azure.

publicar servicio web

Predicción de nuevos datos

Finalmente, podemos probar nuestro servicio web de predicción utilizando un formulario de prueba simple.

formulario de prueba azul

formulario de prueba de aprendizaje automático

Conclusión

A través de este sencillo tutorial de aprendizaje automático, hemos mostrado cómo crear un servicio web de predicción completamente funcional. Azure Machine Learning Studio integrado en la plataforma Azure puede ser una herramienta muy poderosa para crear experimentos de datos. Además de Machine Learning Studio, existen otras soluciones de aprendizaje automático como Orange y Tiberious. Independientemente del entorno de desarrollo que prefiera, lo animo a explorar el aprendizaje automático y encontrar a su científico de datos interno.