¡Me encanta usar PowerBI para análisis! Recientemente, PowerBI agregó soporte para AutoML (aprendizaje automático supervisado y automatizado) y quería demostrar las nuevas capacidades de ML con un ejemplo de principio a fin. En este artículo, uso AutoML para crear y aplicar un modelo de regresión. La regresión es una técnica de aprendizaje automático que se utiliza para comprender la relación entre las variables de entrada y salida (la entrada es lo que se conoce en sus datos y la salida es generalmente el efecto de los datos de entrada y, a veces, se desconoce). La técnica de regresión nos da más información sobre los datos al hacer más fácil ver la relación entre las variables dependientes e independientes. Estos son los cinco pasos que seguí en este artículo para crear el modelo de regresión:

Consulte este tutorial para obtener un recorrido detallado de cada uno de estos pasos, y este tutorial para conocer los específicos de los modelos de regresión.
Creando un flujo de datos con los datos de entrada
Creé un flujo de datos utilizando el conjunto de datos de predicción de House Sales de Kaggle. También está disponible, en el siguiente enlace: predicción de ventas de viviendas a los efectos de este artículo. Contiene precios de venta, número de dormitorios, pies cuadrados, número de pisos, latitud, longitud, etc. de las casas en el condado de King (que incluye Seattle) vendidas entre mayo de 2014 y mayo de 2015. El Precio El atributo que indica el precio de la casa es el campo numérico utilizado como etiqueta para el Regresión modelo. El conjunto de datos se dividió en dos entidades HousePrices2014 y HousePrices2015 según el atributo de año.

Tenga en cuenta que aunque la mayoría de los tipos de datos de atributos en este conjunto de datos son numérico, estos pueden ser interpretados como cadenas por Power Query. Entonces, la mayoría de estos campos, incluida la etiqueta, se convirtieron en numéricos.
Entrenamiento de un modelo de aprendizaje automático
Elegí el Precios de la casa 2014 como entidad para aplicar modelos de AA. Power BI analizó el campo Precio y sugirió Regresión como el tipo de modelo de aprendizaje automático que se puede crear para predecir ese campo. Se necesitaron unos impresionantes 7 minutos para entrenar 12 algoritmos en 14 mil puntos de datos.
Informe de validación del modelo
Después de que se complete la actualización de entrenamiento, Revisé el informe de entrenamiento. Influenciadores clave muestra que Latitude, Sqft_living, Grade son los principales predictores del modelo.

Para verificar esto, tracé un ft_living (pies cuadrados de la casa) y el precio. De hecho, el gráfico muestra una relación que indica que una mayor superficie de vida indica precios más altos. Como se muestra en el desglose de sqft_living anterior, las casas de 2.7k a 2.9k pies cuadrados tienen la mayor proporción de casas con precio de rango 1 (72k a 1M).

Del mismo modo, una gráfica de dispersión entre la calificación (calificación general otorgada a la unidad de vivienda, según el sistema de calificación del condado de King) y el precio muestra que las casas con calificaciones más altas tienen precios más altos.

El modelo tiene un rendimiento del 88%, lo cual es un valor bastante bueno para este conjunto de datos. Como puede ver en el cuadro a continuación, la mayoría de las muestras de prueba se encuentran en la diagonal que muestra el error bajo en la predicción.


La página Detalles de entrenamiento muestra el rendimiento de los 25 modelos diferentes, cómo se extrajeron las características de las entradas y los hiperparámetros para el modelo final utilizado. AutoML eligió un regresor de votación suave preinstalado como el mejor modelo para este conjunto de datos.


Aplicando el modelo
Como estaba satisfecho con los resultados del entrenamiento, procedí a aplicar el modelo al Precios de la casa2015 entidad. A HousePrices2015 modelo de regresión enriquecido se creó, que incluye la salida prevista del modelo. En general, ¡solo tomó alrededor de 2 minutos anotar casi 7 mil filas!
Al aplicar un modelo de regresión, se agregaron dos columnas con el resultado de regresión y los principales influencers específicos del registro para cada predicción. los Regresión enriquecida de HousePrices2015 entidad con una explicación, los precios previstos se muestran a continuación junto con los precios reales en PowerBI Desktop. Las explicaciones locales contienen un desglose de cuánto alejó cada característica la instancia específica del precio promedio de las casas. Para las características categóricas, muestra cuánto habría cambiado el precio para diferentes valores de las categorías. En el ejemplo resaltado, puede ver que se predijo que el precio de la vivienda sería de $ 554174. La explicación dice que, «condición», hizo que el precio aumentara en 44k desde el precio promedio de las casas, y que la «latitud» causó que el precio cayera en 26k.

Establecí una conexión con el flujo de datos de PBI Desktop, para incorporar estas predicciones del modelo en los informes de PBI para poder visualizar estos resultados. Dibujé un mapa de calor de precios predichos usando latitud, longitud. Los precios fueron representados por un gradiente de rojo (parada de gradiente del 100%) a través de verde (parada de gradiente del 50%) y amarillo (parada de gradiente del 0%).

Podemos ver que, por ejemplo, el centro de Seattle y el centro de Bellevue tienen regiones rojas como se esperaba, debido a los altos precios.

Probé un bosque aleatorio scikit-learn en este mismo conjunto de datos. Se tardó 1 minuto en utilizar una validación cruzada triple, buscar en 30 combinaciones diferentes y utilizar todos los núcleos disponibles para obtener una puntuación R2 de 0,85.

Resumen
Aunque AutoML tomó más tiempo, estoy impresionado de haber obtenido una mejor puntuación R2 de 0.88 al probar no solo Random Forest sino 25 modelos diferentes, además de obtener explicaciones a nivel de instancia. Además, AutoML realiza automáticamente un preprocesamiento, como eliminar funciones como ID sin información útil y generar funciones adicionales para fecha y hora como mes, año, etc. Por otro lado, en scikit-learn uno debe codificar cadenas o características de fecha y hora o eliminarlas.
En general, estoy muy entusiasmado con AutoML, porque no tuve que aprender las complejidades de los modelos de ML ni preocuparme por la implementación y aún así obtener los mismos resultados. He hecho esto en Python y R y me tomó mucho más tiempo codificar y configurar los hiperparámetros, mientras que en AutoML solo estoy presionando un montón de botones y ¡listo! Dado que es mucho más fácil comenzar con menos esfuerzo, animo a los analistas comerciales e incluso a los científicos / analistas de datos a que prueben AutoML.