Existen distintas maneras de llevar adelante un proyecto de este tipo, una de ellas es realizar una campaña ofertando el producto a una muestra al azar de clientes con el objeto de recabar información que será usada en el proyecto. La idea es usar una muestra que sea lo más pequeña posible pero que contenga la suficiente información para hacer el modelo. Por ejemplo, si la empresa tuviera 100.000 clientes, se podría tomar una muestra al azar de 10.000 para enviarles el folleto. Una vez que pase un tiempo prudencial, se puede armar la tabla con todas las variables disponibles de los clientes de la muestra más una variable que indique si el cliente compró o no el producto. O sea, la variable a predecir será "Compra" cuyos dos únicos valores serán "SI" o "NO".
Depende el tipo de producto, podría ser que el porcentaje de gente que compre el producto sea muy bajo, por ejemplo, sólo el 1%.
Así que la variable "Compra" tendrá la distribución de valores:
A este tipo de modelo, el que siempre contesta lo mismo para cometer el mínimo error, se lo conoce como modelo naïve.
Lo que se necesita es un modelo que supere el modelo naïve.
Una vía para lograr que la herramienta de modelado no produzca un modelo naïve es balancear los datos, o lo que es lo mismo, modificar la distribución de la variable a predecir para que sea 50%/50%. Una manera de lograr esto es la siguiente:
Seleccionar todas las filas en donde la variable a predecir toma el valor "SI". En nuestro caso hipotético de la campaña de marketing nos quedaríamos con unas 100 filas (el 1% de 10.000). Luego se deben incluir otros 100 casos en los que el cliente no compró el producto ("NO"). Ahora tendremos una tabla de datos en los que la distribución de la variable a predecir es 50%/50%.
Pero estos datos tienen dos problemas: la distribución de la variable a predecir no es real (¡ya lo sabíamos!) y son insuficientes para realizar un buen modelo, al menos en nuestro caso en que sólo conseguimos 200 filas.
¿Cómo solucionamos la falta de datos? Existen dos maneras. Hay herramientas que generan nuevas filas artificiales en las que la variable de salida toma el valor menos representado (en nuestro caso "SI"). No tengo claro la validez de este método y si realmente ayuda. En mi caso particular, hace unos años utilicé esta práctica con redes neuronales y no obtuve ningún beneficio.
La otra solución es aumentar el tamaño de la muestra, pero esto incrementa los costos del proyecto (para tener una muestra representativa de la población, el costo podría aumentar hasta¡ 10 veces!)
¿Qué hacer si la herramienta de Data Mining es Powerhouse? Nada
Una de las grandes ventajas que tiene Powerhouse es que no es necesario (ni aconsejable) balancear los datos. Todas las pruebas realizadas por nosotros y por muchos usuarios de Powerhouse, indicaron que es mejor no balancear que hacerlo.
No hay comentarios:
Publicar un comentario