Está en la página 1de 19

Universidad del Bío-Bío

Facultad de Ingeniería
Escuela de Ingeniería Civil Industrial

Certamen II
Informe Empresa Cuponing

Nombre: Diego Reyes Roa


Profesor: Freddy Troncoso Espinosa
Asignatura: Minería de Datos

Concepción, 09 de agosto de 2021


Índice
I. Resumen .......................................................................................................... 1
II. Introducción ...................................................................................................... 2
III. Objetivos ........................................................................................................... 3
1. Objetivo General............................................................................................ 3
2. Objetivos Específicos .................................................................................... 3
IV. Desarrollo ......................................................................................................... 4
1. Conocimiento y descripción de la base de datos ..................................... 4
2. Limpieza de la base de datos ..................................................................... 6
3. Transformación de atributos ...................................................................... 7
4. Imputación de datos .................................................................................... 7
5. Elección de atributos relevantes................................................................ 8
6. Entrenamiento en base a modelos ............................................................ 8
6.1 Árbol de decisión .................................................................................... 8
6.2 K-Nearest Neighbor ................................................................................ 9
6.3 Naive Bayes ............................................................................................ 9
6.4 Neural Net ............................................................................................. 10
7. Umbral optimo ........................................................................................... 10
8. Curva ROC ................................................................................................. 11
9. Situación de Costos .................................................................................. 11
9.1 Caso 1................................................................................................... 12
9.2 Caso 2................................................................................................... 12
9.3 Caso 3................................................................................................... 13
9.4 Costos de clasificación.......................................................................... 14
V. Conclusión ...................................................................................................... 15
VI. Bibliografía ...................................................................................................... 16
Índice de Ilustraciones
Ilustración 1: Curva ROC ...................................................................................... 11
Ilustración 2: Curva ROC Caso 1 .......................................................................... 12
Ilustración 3: Curva ROC Caso 2 .......................................................................... 13
Ilustración 4: Curva ROC Caso 3 .......................................................................... 13

Índice de Tablas
Tabla 1: Descripción de atributos ............................................................................ 6
Tabla 2: Porcentaje de valores nulos ...................................................................... 6
Tabla 3: Peso Chi-Cuadrado ................................................................................... 8
Tabla 4: Rendimiento Árbol de Decisión ................................................................. 9
Tabla 5: Rendimiento K-Nearest Neighbor .............................................................. 9
Tabla 6: Rendimiento Naive Bayes ....................................................................... 10
Tabla 7: Rendimiento Neural Net .......................................................................... 10
Tabla 8: Thershold ................................................................................................ 11
Tabla 9: Matriz de Confusión Caso 1 .................................................................... 12
Tabla 10: Matriz de confusión Caso 2 ................................................................... 13
Tabla 11: Matriz de confusión Caso 3 ................................................................... 14
Tabla 12: Resumen Costos de Clasificacion ......................................................... 14
I. Resumen
Mediante una base de datos de la empresa Cuponing se evaluarán distintos
aspectos para lograr predecir el comportamiento de los clientes en base a las
compras que ellos tienen, el programa a utilizar es RapidMiner. En donde en primera
instancia se limpiará la base de datos, para luego evaluar el desempeño de los
cuatro mejores atributos con cuatro modelos de clasificación, en donde se pueden
clasificar para datos categóricos y numéricos. Finalmente se encontrará e umbral
optimo en base a distintas situaciones de Thershold, posteriormente se analizara la
curva ROC y la matriz de confusión del modelo seleccionado. Para terminar con la
presentación de tres escenarios distintos para analizar el costo de clasificaciones.

1
II. Introducción
El proceso de hurgar en los datos para descubrir conexiones ocultas y
predecir tendencias futuras, conocido algunas veces como descubrimiento de
conocimientos en bases de datos o simplemente como minería de datos. El cual es
el proceso de hallar anomalías, patrones y correlaciones en grandes conjuntos de
datos para predecir resultados. Empleando una amplia variedad de técnicas, puede
utilizar esta información para incrementar sus ingresos, recortar costos, mejorar sus
relaciones con clientes, reducir riesgos y más. (SAS Institute Inc., 2021)

Así es como en este trabajo se procederá a navegar por los datos de la


Empresa Cuponing, la cual se dedica a la venta de multimedios digitales, como
libros electrónicos, cds, música, entre otros productos. En donde los datos describen
el comportamiento de compra de los distintos clientes de la tienda. De esta forma
se realizará una asesoría para analizar la situación de la empresa y las políticas
comerciales asociadas para aumentar las ventas en base a la predicción de entrega
de cupones a clientes que necesitan de este incentivo para poder comprar, y a su
vez poder disminuir el costo de enviar cupones por error a clientes que comprar sin
necesidad de tener un cupón o no.

2
III. Objetivos
1. Objetivo General
Procesar una base de datos entrenar, probar y validar modelos de clasificación.
2. Objetivos Específicos
- Conocimiento y descripción de la base de datos.
- Limpieza de la base de datos (eliminación de registros, atributos, imputación de
datos entre otros vistos en clases).
- Transformación de la base de datos y creación de atributos.
- Elección de atributos relevantes para incorporar a un modelo mediante métodos
de filtro.
- Entrenamiento de los 4 modelos de clasificación vistos en clases (Árbol de
decisión, K-Nearest Neighbor, Neural Net, Naive Bayes).
- Identificación del umbral óptimo para la selección del mejor modelo.
- Elaboración de la curva ROC para el mejor modelo seleccionado.
- Identificar el umbral óptimo mediante la incorporación de costos asociados a los
errores de clasificación (Probar a lo menos 3 valores de costos para cada error y
analizar resultados).

3
IV. Desarrollo
1. Conocimiento y descripción de la base de datos
En primer lugar, se recibió la base de datos en donde se lograron identificar
40 atributos entre los cuales están incluidos el label, denominado como target90, es
decir, la variable dependiente o regresiva y el identificador de la base de datos,
denominado como customer number.

De esta forma se identificaron la totalidad de atributos con la finalidad de


conocer la base de datos, para así contextualizar mejor la situación problema de la
empresa Cuponing. A continuación de describen las variables:

- Customer Number: es el numero único de cliente que compra en la tienda,


en la base de datos es conocida como ID (identificador).
- Date: es la fecha del primer pedido asociada a cada cliente.
- Saturation: es la naturalidad asociada al cliente, la cual puede variar entre 0,
1 o 2. En donde se definen como Señora, Señor o Compañía.
- Age: es la edad del cliente, solo si es aplicable. Es decir, si es que el cliente
se registra con la edad o no.
- Title: se define como la disponibilidad, pudiendo tomar valores 0 (No
disponible) o 1 (disponible).
- Domain: es el proveedor de la cuenta de correo del cliente, pudiendo ser: 0
(aol.com), 1 (arcor.de), 2 (freenet.de), 3 (gmail.com), 4 (gmx.de), 5
(hotmail.de), 6 (online.de), 7 (onlinehome.de), 8 (t-online.de), 9 (web.de), 10
(yahoo.com), 11 (yahoo.de), 12 (otros).
- Country: es el país de cliente.
- Datecreated: se define como la fecha en la cual el cliente abrió su cuenta.
- Newsletter: identifica si es que el cliente se subscribio al boletín, 0 si es que
no y un 1 si es que si.
- Model: identifica al cliente a modelos 1, 2 o 3.
- Paymenttype: es la forma de pago del cliente, pudiendo ser: 0 (pago con
factura), 1 (pago en efectivo), 2 (pago transferido desde una cuenta corriente)
o 3 (pago desde tarjeta de credito).

4
- Deliverytype: es el tipo de entrega del producto al cliente, siendo 0 envio o 1
entrega en el local.
- Invoicepostcode: indica la dirección de entrega asociada a cada factura.
- Delivpostcode: indica el código postal compartido por las direcciones de
entrega de cada factura.
- Voucher: indica si es que el cliente canjeo o no un cupon. Siendo un 0 en
caso de que no y un 1 si es que si.
- Advertisingdatacode: indica el código de datos publicitario.
- Case: califa el valor de los bienes de cada cliente, entre 1 y 5, siendo 1 bajo
y 5 alto.
- Numberitems: es el número de artículos pedidos por cada cliente.
- Gift: es la opción de regalo con la que cuenta cada cliente, siendo 0 (No) y 1
(Si9.
- Entry: indica la entrada a la tienda, siendo 0 (tienda) o 1 (pareja).
- Points: indica si es que cada cliente a criticado algunos puntos, siendo 0 (No)
o 1 (Si).
- Shippingcosts: indica si es que se incurrieron en gastos de envíos, siendo 0
(No) o 1 (Si).
- Deliverydatepromised: es la fecha de entrega prometida al cliente de su
pedido.
- Deliverydatereal: es la fecha real de entrega al cliente de su pedido.
- Weight: indica el peso del envio.
- Remi: indica la cantidad de artículos remitidos por la tienda.
- Cancel: indica la cantidad de artículos cancelados por la tienda.
- Used: indica la cantidad de artículos usados por la tienda.
- W(i): indica el número de ciertos artículos ordenados en toda la tienda, estos
artículos son: libros, audio libros, libros online, películas, artículos de música,
hardware, artículos impostados y otros. Siendo i=̅̅̅̅̅̅
0,10.
- Target90: es la decisión si es que un cliente volverá a ordenar algun articulo
dentro de los siguientes 90 dias, siendo el label de la base de datos y una
variable nominal dicotómica binaria, siendo 0 (No) o 1 (Si).

5
Tabla 1: Descripción de atributos

Nombre del Atributo Tipo Caracteristica Nombre del Atributo Tipo Caracteristica
Customer Number Entera Nominal Advertisingdatacode Carácter Nominal
Date Fecha Carácter Case Entera Ordinal
Saturation Entera Politomica Numberitems Entera Carácter
Age Entera Carácter Gift Entera Dicotomica
Title Entera Dicotomica Entry Entera Dicotomica
Domain Entera Politomica Points Entera Dicotomica
Country Entera Carácter Shippingcosts Entera Dicotomica
Datecreated Fecha Carácter Deliverydatepromised Fecha Carácter
Newsletter Entera Dicotomica Daliverydatereal Fecha Carácter
Model Entera Politomica Weight Entera Carácter
Paymenttype Entera Politomica Remi Entera Carácter
Deliverytype Entera Dicotomica Cancel Entera Carácter
Invoicepostcode Carácter Nominal Used Entera Carácter
Delivpostcode Carácter Nominal w(i) Entera Carácter i=(0,10)
Voucher Entera Dicotomica Target90 Entera Dicotomica

2. Limpieza de la base de datos


La base de datos antes mencionada fue entregada y desarrollada en primera
instancia en el programa EXCEL, en donde se trataron los valores nulos. Es así
como “Un valor nulo significa que es un valor desconocido, indefinido o no
inicializado. Se pueden producir valores nulos al hacer referencia a campos del
mensaje que no existen, al acceder a columnas de base de datos para las que no
que se ha facilitado ningún dato y al utilizar la palabra clave NULL, que suministra
un valor literal nulo.” (IBM, 2019)

En consecuencia, primero se determinó si un atributo o columna contenía


mas de un 70% de valores nulos, esta variable seria eliminada de la base de datos.
Así se eliminaron las siguientes variables:

Tabla 2: Porcentaje de valores nulos

Nombre del Atributo % Valores Nulos


Age 87%
Delivpostcode 96%
Advertisingdatacode 81%

En segundo lugar, se determinó si un cliente o fila contenía más de un 38%


de valores nulos, esta fila seria eliminada de la base de datos, de esta forma se
eliminaron 271 clientes o filas.

6
En tercer lugar, por decisión propia se eliminaron las variables llamadas
Country y Points, ya que como variable independiente no aportaban ninguna
importancia al futuro modelo predictor, ya que más del 95% de los datos eran
iguales. Por lo que la información expuesta no ayudaba a la variable regresora.

Y como cuarto lugar, se decidió eliminar todas las variables que identificaban
fechas (Date y Datecreated), ya que no aportaban información además de que la
mayoría de los datos eran incorrectos.

3. Transformación de atributos
La primera transformación que se realizo en la base de datos fue con
respecto al atributo llamado Customer number, el cual dentro de los datos cumple
la función de identificador de cliente (ID único). Tras estudiar el atributo se llegó a la
conclusión que existían datos ilógicos, los cuales no permitían identificar al cliente.
De este modo se eliminó la columna con los datos y se creo un variable con el
mismo nombre, pero con números correlativos de 1 al 10.000, para que de esta
forma se logre identificar a cada cliente con un valor único.

Se decidió de las variables, Deliverydatepromised y Deliverydatereal, se


creará una nueva variable dicotómica (0 o 1) llamada Deliverydate. Esta fue creada
a partir de la diferencia entre la fecha prometida y la fecha real de entrega, si es que
el resultado era positivo incluido el cero, este tomaba el valor 1 (el pedido llego a
tiempo). Mientras que, si la diferencia era negativa, este tomaba el valor 0 (el pedido
llego tarde).

4. Imputación de datos
Luego de la limpieza y transformación de dentro de la base de datos, aun se
encuentra el problema de que por cada columna y fila existen valores perdidos, los
cuales claramente están en un bajo porcentaje. Lo que nos permite realizar un
método de imputación, llamada KNN o K-Imputación del vecino mas cercano. Es
así como se selección un k = 3 para promediar los valores cercanos y reemplazarlos
en la celda faltante, todo esto según el tipo de variable.

7
5. Elección de atributos relevantes
En seguida, a través del programa RapidMiner se procedió a seleccionar los
mejores atributos, con el fin de generar un modelo predictor robusto. Esto se realizó
con el método de la prueba Chi-Cuadrado, el cual a través de la identificar las
relaciones de dependencia entre los atributos, puede identificar cual será más o
menos importante según un peso.

Es así como se seleccionaron los cuatro mejores atributos, los cuales se


pueden observar a continuación, con su respectivo peso desde el más bajo al más
alto.

Tabla 3: Peso Chi-Cuadrado

6. Entrenamiento en base a modelos


La base de datos se entrenará en base a cuatro modelos, Árbol de decisión,
K-Nearest Neighbor, Naive Bayes, los cuales son para datos categóricos y el Neural
Net para los numéricos. El desarrollo de estos cuatro modelos de clasificación es
poder entrenador los datos en base a una partición 70/30. El 70% de los datos son
utilizados para el entrenamiento de los modelos y el otros 30% es para poder
predecir y de esta forma obtener los índices de rendimiento (Accuracy, Recall y
Precision) lo cuales decidirán cual es el mejor modelo predictor.

6.1 Árbol de decisión


CHAID son las siglas de CHi-squared Automatic Interaction Detection. La
estadística de chi-cuadrado es una técnica estadística no paramétrica que se utiliza
para determinar si una distribución de frecuencias observadas difiere de las
frecuencias teóricas esperadas. Las estadísticas de chi-cuadrado usan datos
nominales, por lo tanto, en lugar de usar medias y varianzas, esta prueba usa
frecuencias. Las ventajas de CHAID son que su salida es muy visual y fácil de
interpretar. (RapidMiner, 2021)

8
Gracias al programa antes mencionado, se lograron obtener los siguientes
datos:

Tabla 4: Rendimiento Árbol de Decisión

Modelo: Arbol de Decisión


Criterio Rendimiento
Accuracy 56,20%
Precision 58,48%
Recall 42,78%

6.2 K-Nearest Neighbor


Este operador genera un modelo de k-vecino más cercano, que se utiliza
para clasificación o regresión. Este algoritmo se basa en comparar un ejemplo
desconocido con los k ejemplos de entrenamiento que son los vecinos más
cercanos del ejemplo desconocido. Se pueden usar diferentes métricas, como la
distancia euclidiana, para calcular la distancia entre el ejemplo desconocido y los
ejemplos de entrenamiento. (RapidMiner, 2021)

Gracias al programa antes mencionado, se lograron obtener los siguientes


datos:

Tabla 5: Rendimiento K-Nearest Neighbor

Modelo: K-Nearest Neighbor


Criterio Rendimiento
Accuracy 52,41%
Precision 52,28%
Recall 55,19%

6.3 Naive Bayes


Naive Bayes es un clasificador de alto sesgo y baja varianza, y puede
construir un buen modelo incluso con un pequeño conjunto de datos. Es simple de
usar y computacionalmente económico. Los casos de uso típicos involucran la
categorización de texto, incluida la detección de spam, el análisis de opiniones y los
sistemas de recomendación. (RapidMiner, 2021)

Gracias al programa antes mencionado, se lograron obtener los siguientes


datos:

9
Tabla 6: Rendimiento Naive Bayes

Modelo: Naive Bayes


Criterio Rendimiento
Accuracy 54,07%
Precision 54,07%
Recall 54,07%

6.4 Neural Net


Este operador aprende un modelo por medio de una red neuronal de retro
alimentación entrenada por un algoritmo de retro propagación (perceptrón
multicapa). Es un modelo matemático o modelo computacional que se inspira en la
estructura y los aspectos funcionales de las redes neuronales biológicas. Una red
neuronal consta de un grupo interconectado de neuronas artificiales y procesa la
información utilizando un enfoque conexionista de la computación. (RapidMiner,
2021)

Gracias al programa antes mencionado, se lograron obtener los siguientes


datos:

Tabla 7: Rendimiento Neural Net

Modelo: Neural Net


Criterio Rendimiento
Accuracy 53,89%
Precision 56,85%
Recall 31,85%

7. Umbral optimo
Luego de los valores obtenidos anteriormente, se procederá a obtener el
umbral optimo al modelo Naive Bayes, ya que es el con mejor rendimiento en
comparación con los otros 3 modelos, con un Accuracy = Precision = Recall =
54,07%.

Es así como por medio del operador Créate Thershold en RapidMiner se


evaluaron para distintos valores de Thershold para el modelo seleccionado.

10
Tabla 8: Thershold

Thershold Accuracy Thershold Accuracy


0,1 49,00% 0,51 54,54%
0,2 50,28% 0,52 54,72%
0,3 51,57% 0,53 54,91%
0,4 51,30% 0,54 55,37%
0,5 54,07% 0,55 54,26%
0,6 52,96% 0,56 54,07%
0,7 50,28% 0,57 53,86%
0,8 50,46% 0,58 53,23%
0,9 50,09% 0,59 52,96%
1 50,00%

8. Curva ROC
Para el modelo seleccionado se obtiene la Curva ROC con un umbral del
0,54, como se puede observar a continuación:

Ilustración 1: Curva ROC

9. Situación de Costos
Para las situaciones de costos se van a evaluar tres casos, para el primer
caso es cuando el error de tipo I y II son iguales. El segundo cuando el error de
tipo I es mayor al de tipo II. Y el tercera cuando el error de tipo II es mayor al del
tipo I.

11
9.1 Caso 1
Representa el mismo costo cuando se cometen los errores tipo I y II, los cuales para
el problema en cuestión se fijarán en $3.000, según los promedios de los costos.

Ilustración 2: Curva ROC Caso 1

Tabla 9: Matriz de Confusión Caso 1

Caso 1 True 0 True 1 Class Precision


Pred 0 246 188 56,68%
Pred 1 294 352 54,49%
Class Recall 45,56% 65,19%
Accuracy 55,37%

9.2 Caso 2
Representa la proporción doble al cometer el error tipo I con respecto al tipo
II, en este caso $6.000 (error tipo I) y $3.000 (error tipo II).

12
Ilustración 3: Curva ROC Caso 2

Tabla 10: Matriz de confusión Caso 2

Caso 2 True 0 True 1 Class Precision


Pred 0 11 7 61,11%
Pred 1 529 533 50,19%
Class Recall 2,04% 98,70%
Accuracy 50,37%

9.3 Caso 3
Representa un 50% mas de cometer un error tipo II con respecto al error tipo
I, en este caso $3.000 (error tipo I) y $4.500 (error tipo II).

Ilustración 4: Curva ROC Caso 3

13
Tabla 11: Matriz de confusión Caso 3

Caso 3 True 0 True 1 Class Precision


Pred 0 515 496 50,94%
Pred 1 25 44 63,77%
Class Recall 95,37% 8,15%
Accuracy 51,76%

9.4 Costos de clasificación


Tabla 12: Resumen Costos de Clasificación

Caso 1 Caso 2 Caso 3


Tipo I $3.000 $6.000 $3.000
Tipo II $3.000 $3.000 $4.500
FP 188 7 496
VP 246 11 515
VN 352 533 44
FN 294 529 25
TVP 0,45555556 0,02037037 0,9537037
TFP 0,34814815 0,01296296 0,91851852
Costo $2.678 $5.917 $4.272
Umbral Óptimo 0,45986238 0,16294335 0,68622642

14
V. Conclusión
La elaboración de este informe permitió utilizar técnicas estadísticas para
obtener pronósticos a partir de una voluptuosa base de datos de una empresa, la
cual con la ayuda de los programas de Excel y RapidMiner, además de sus
respectivas funciones y operadores, se lograron limpiar y entrenar en base a
diferentes modelos para poder tomar decisiones acertadas en consecuencia de los
objetivos de la empresa Cuponing.

A medida que se avanzó en el informe se fueron completando los objetivos


propuestos en la primera parte. Pudiendo confirmar que estos se desarrollaron en
su totalidad, desde el conocimiento y limpieza de la base de datos, hasta poder
seleccionar el mejor modelo predictor en base a las medidas de rendimiento vistas
en clase, como lo son el Accuracy, Recall y Precision, para luego finalmente poder
analizar los costos de clasificación que se proporcionaban en cometer los distintos
tipos de error en tres casos distintos.

Para la finalización, en la evaluación de los costos de clasificación se


consideraron tres escenarios distintos, en donde el primer escenario (Caso 1) es el
que nos entrega el menor costo de clasificación, puesto que es en donde los errores
del tipo I y tipo II son idénticos. Sin embargo, la recomendación es minimizar el error
tipo II puesto que es el que nos entrega el menor costo con respecto al minimizar el
error de tipo I.

15
VI. Bibliografía

IBM. (20 de Diciembre de 2019). IBM Integration Bus 10.0.0. Obtenido de


ibm.com: https://www.ibm.com/docs/es/integration-bus/10.0?topic=ssmkhh-
10-0-0-com-ibm-etools-mft-doc-ac05960--htm
RapidMiner. (2021). RapidMiner GmbH. Obtenido de
https://docs.rapidminer.com/latest/studio/operators/modeling/predictive/trees
/chaid.html
RapidMiner. (2021). RapidMiner GmbH. Obtenido de
https://docs.rapidminer.com/latest/studio/operators/modeling/predictive/lazy/
k_nn.html
RapidMiner. (2021). RapidMiner GmbH. Obtenido de
https://docs.rapidminer.com/latest/studio/operators/modeling/predictive/neur
al_nets/neural_net.html
RapidMiner. (2021). RapidMiner GmbH. Obtenido de
https://docs.rapidminer.com/latest/studio/operators/modeling/predictive/baye
sian/naive_bayes.html

16

También podría gustarte