20 de marzo de 2015

Qlikview + R para Arbol Decision

Notas Previas:
Para detalle sobre Qlikview + R ver nota publicada AQUI.
Para este ejemplo debe estar instalado R con package rattle y rpart.
El zip con archivos .qvw y .r puede Descargarse AQUI y copiarse en c:\ para ejecutar ejemplo.
Para este ejemplo se utilizó:
  QlikView 11 SR5 64-bit, 
  R 3.1.0 64-bit
  windows 8.1



Si se tienen en qlikview datos históricos sobre clientes que sí compraron un producto y clientes que no compraron, y se quiere crear un algoritmo de clasificación para predecir si los nuevos clientes comprarán o no el producto, teniendo algo como:














Puede usarse la siguiente técnica:






// Crea datos
// ------------------------------------------------------------------------------
Datos:
LOAD * INLINE [
IdCliente,     EstadoCivil, Profesion,  Universitario,  TieneVehiculo,  Compra
    1,         Casado,      Empresario,     Si,             No,           No
    2,         Casado,      Empresario,     Si,             Si,           No
    3,         Soltero,     Empresario,     Si,             No,           Si
    4,         Viudo,       Desempleado,    Si,             No,           Si
    5,         Viudo,       Empleado,       No,             No,           Si
    6,         Viudo,       Empleado,       No,             Si,           No
    7,         Soltero,     Empleado,       No,             Si,           Si
    8,         Casado,      Desempleado,    Si,             No,           No
    9,         Casado,      Empleado,       No,             No,           Si
    10,        Viudo,       Desempleado,    No,             No,           Si
    11,        Casado,      Desempleado,    No,             Si,           Si
    12,        Soltero,     Desempleado,    Si,             Si,           No
    13,        Soltero,     Empresario,     No,             No,           Si
    14,        Viudo,       Desempleado,    Si,             Si,           No
    111,       Soltero,     Empresario,     No,             Si,           ?
    222,       Casado,      Desempleado,    Si,             No,           ?
    333,       Soltero,     Empleado,       No,             No,           ?]
;


// Crea datos de entrenamiento y guarda en csv
// ------------------------------------------------------------------------------
Datos_Train: NoConcatenate LOAD * Resident Datos Where Compra<>'?' and rand()<.8;
STORE Datos_Train into C:\Qlikview_mas_R_2\Datos_Train.csv (txt);
DROP Table Datos_Train;

// Guarda csv de clientes nuevos para predecir
// ------------------------------------------------------------------------------
Datos_Nuevos: NoConcatenate LOAD * Resident Datos Where Compra='?';
STORE Datos_Nuevos into C:\Qlikview_mas_R_2\Datos_Nuevos.csv (txt);
DROP Table Datos_Nuevos;

// ejecuta script.R que crea algoritmo, prediccion y grafico de Arbol_Desicion
// ------------------------------------------------------------------------------
EXECUTE "C:\Program Files\R\R-3.1.0\bin\R.exe" CMD BATCH "C:\Qlikview_mas_R_2\rpart_script.r";

// hace join del resultado de la prediccion en clientes nuevos 
// ------------------------------------------------------------------------------
Left Join (Datos)
LOAD IdCliente, Prediccion_Compra
FROM Datos_con_prediccion.csv
(
txt, codepage is 1252, embedded labels, delimiter is ',', msq);

 






4 comentarios:

Shantanu Gupta dijo...

Hello , i am unable to access the download link . Can you please send the contents to neoshantanu@gmail.com .

IDDP dijo...

Hola muy buenos sus artículos, pero el link esta roto, podría por favor reactivarlo. gracias

jj dijo...

muy bueno, podrian reactivar el link para descargar, gracias.

Enmanuel Santana dijo...

El link ya está reparado. Gracias por los comentarios.