Análisis de costo-beneficio mediante el aprendizaje automático en Power BI

Un usuario Pregunto ✅

Imagina que eres el propietario de un restaurante local y has tenido un éxito modesto con una campaña de cupones de marketing en el pasado. Envió algunos cupones por correo local y terminó notando un aumento en el negocio durante las próximas semanas. Ahora se pregunta a qué clientes debería dirigirse a continuación. Además, le gustaría saber si hay algo que pueda hacer para analizar la campaña de cupones con el objetivo de maximizar los beneficios y los ingresos y minimizar los costos. El análisis de costo-beneficio, también conocido como CBA, es una de esas herramientas analíticas. Ahora, al crear modelos de predicción binaria con AutoML en Power BI, el informe resultante le permite usar CBA con sus datos.

Lee mas…

Recientemente anunciamos la capacidad de creando Modelos de aprendizaje automático directamente en PowerBI. Esto es impulsado por aprendizaje automático automatizado desde Azure.

Usted puede crear un ML modelo basado en tus datos con unos sencillos pasos utilizando esta nueva capacidad, por lo que esta publicación tiene como objetivo proporcionar algo de luz sobre los próximos pasos, el rendimiento y la aplicación del modelo, y proporcionar algunos consejos sobre el informes.

Lee mas…

¡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:

2.png

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.

3.png

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.

1.png

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).

4.png

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.

5.png

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.

6.png

7.png

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.

8.png

9.png

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.

10.png

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%).

12.PNG

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.

13.png

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.

14.png

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.

La integración automatizada de ML con los flujos de datos de Power BI permite entrenar y aplicar predicción binaria, clasificación general y Modelos de regresión. Los modelos ML se representan internamente como entidades de flujo de datos especialmente marcadas. Voy a describir cómo se definen las entidades relacionadas con ML en M idioma y como ely se puede editar con el editor de Power Query.

Lee mas…

fantasmas

La preparación de datos puede contribuir en gran medida a mejorar la resultados del aprendizaje automático modelos. Antes empezar con AutoML en Power BI, tómate un momento para explorar asi queme técnicas de limpieza de datos contigor datos. Todo los needary herramientas Necesitarás ya existe en el Poder BYo ecosistema.

Estandarización (Reetiquetado)

Imagina que tienes un texto columna describiendo titulos universitarios, es decir, «Maestría», «Licenciatura», etc. Dependiendo de cómo se realizó la entrada de datose, tu migrasht final con valores como “MA”, “Maestría” y “Maestría”, todos significan lo mismo. De forma predeterminada, un modelo de aprendizaje automático no hará suposiciones sobre estos campos son sinónimos y terminan tratando ellos como entradas únicas. En la mayoría de los casos, sería ideal si el modelo analizado estas variar entradas tde la misma manera.

Una vez que sus datos estén disponibles como una entidad en Power Query Online, pueden recordardy esta discrepancia usando el Función «Reemplazar valores». Para descubrir esta funcionalidad, simplemente haga clic derecho en su encabezado de columna deseado y seleccione «Reemplazar valores». Utilice el modo «Avanzado» para hacer coincidir todo el contenido de las celdas de su columna en lugar de la coincidencia parcial predeterminada.

Estandarización.PNG

Discretización y agrupamiento (Agrupando)

Con AutoML en PowerBI, es posible crear un poderoso modelo de predicción si tur entidad tiene una columna Verdadero / Falso. Esta es una columna que contiene dos valores distintos indicando estados separados. A la columna numérica es la más fácil tipo de columna para convertir en un Columna Verdadero / Falso. En Power Query Online, esta conversión se puede lograr mediante el uso de una columna condicional. En este ejemplo, imagina que tienes una columna numérica de puntuaciones que van desde 0 hasta 100. Podemos reducir esta columna a una columna Verdadero / Falso separando los valores de arriba sesenta y los de abajo. Después de agregar la columna condicional, recuerde establecer el tipo de columna de la nueva columna en Verdadero / Falso por haciendo clic en el icono de tipo junto al encabezado de la columna.

Bucketing.PNG

Eliminar valores atípicos

Hay ocasiones en las que una columna numérica puede tener entradas que son muy diferente del resto de los valores de una columna. En la mayoría de los casos, presencia de estos valores atípicos valores proporciona pocos beneficios para un modelo de aprendizaje automático. Digamos wDefinimos un valor atípico para una columna numérica como valor. fuera de dos desviaciones estándar por encima o por debajo del valor mediano de un columna. En esta sección construimos sobre el concepto de usar columnas condicionales y mejorarlo con un poco de magia extra de Power Query. Para su entidad de tabla, abra el editor avanzado:

Valores atípicos.PNG

norteext ubicar la columna para los que desea eliminar valores atípicos. En este caso la columnan encabezado es «Tarifa». Crearemos dos nuevas variables para almacenar los valores de la columna desviación estándar así como la mediana.

#"Two Standard Deviations" = List.StandardDeviation(#"Changed column type"[Fare]) * 2, 
#"Medium Value" = List.Median(#"Changed column type"[Fare]), 

Ahora usaremos una columna condicional para identificar un valor atípico comparando el valor de la tarifa con mediun valor más o menos dos multiplicado por la desviación estándar. Si el valor cae fuera de ese rango, establecemos el valor en la media general.un valor.

#"Outliers Replaced" = Table.AddColumn(#"Changed column type", "New column", each if [Fare] < #"Medium Value" - #"Two Standard Deviations" then #"Medium Value" else if [Fare] > #"Medium Value" + #"Two Standard Deviations" then #"Medium Value" else [Fare]) 

Cuando utilice este fragmento de código, simplemente reemplace «Tarifa» con el nombre del encabezado de la columna deseada. Un examenple Sección de Código de Power Query para realizar sigue el reemplazo de valores atípicos:

let 
    Source = Csv.Document(Web.Contents("<YOUR_CSV_SOURCE"), [Delimiter = ",", Columns = 12, QuoteStyle = QuoteStyle.None]),  
    #"Promoted headers" = Table.PromoteHeaders(Source, [PromoteAllScalars = true]),  
    #"Changed column type" = Table.TransformColumnTypes(#"Promoted headers", {{"Fare", type number}}),  
    #"Two Standard Deviations" = List.StandardDeviation(#"Changed column type"[Fare]) * 2,  
    #"Medium Value" = List.Median(#"Changed column type"[Fare]),  
    #"Outliers Replaced" = Table.AddColumn(#"Changed column type", "New column", each if [Fare] < #"Medium Value" - #"Two Standard Deviations" then #"Medium Value" else if [Fare] > #"Medium Value" + #"Two Standard Deviations" then #"Medium Value" else [Fare]) 
in 
    #"Outliers Replaced" 

Con solo estos simples técnicas a tu disposición, ypuedes empezar a construir poderoso, reducido modelos de aprendizaje automático en Power BI. Esté atento a más técnicas avanzadas que se tratará en futuras publicaciones. Mientras tanto, obtener comenzó a construir modelos en Power BI today siente bien como un poco de datos preparación pueden tener un impacto positivo en los informes de modelos resultantes.

Yasin Shtiui | Ingeniero de software II en Microsoft Power BI (Inteligencia artificial) equipo

Garrett Hamers | Ingeniero de software en Microsoft Power BI (Inteligencia artificial) equipo

Power BI, en la última versión, agregó soporte para el aprendizaje automático supervisado y automatizado. Esto significa que Power BI puede ayudar a predecir ‘incógnitas’ una vez que aprende de los valores ‘conocidos’.

Lee mas…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *