Para detalle sobre Qlikview + R ver nota publicada AQUI.
Para este ejemplo debe estar instalado R con package rattle y rpart.
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);
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:
Hello , i am unable to access the download link . Can you please send the contents to neoshantanu@gmail.com .
Hola muy buenos sus artículos, pero el link esta roto, podría por favor reactivarlo. gracias
muy bueno, podrian reactivar el link para descargar, gracias.
El link ya está reparado. Gracias por los comentarios.
Publicar un comentario