Sunteți pe pagina 1din 29

Business Intelligence y Data

Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Laboratorio 4:
Modelamiento con muestras no balanceadas y Mtodos de Validacin de
Modelos (Hold-out, Cross-Validation, Bootstrapping)
Temas en este laboratorio:

Importar datos
Hold-out method
Cross-Validation
Cross-Validation Leaveoneout
Cross-Validation Bootstrapping

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Notas para laboratorio


Una de las dificultades ms comunes en generar un modelo predictivo es cuando la clase a
predecir se encuentra muy desbalanceada. Ejemplos de muestras desbalanceadas: (paga 98% / no
paga 2%, fuga 1% / no fuga 99%; compra 2% / no compra 98%,etc.). Esta distribucin dificulta el
proceso de aprendizaje de patrones provocando que los modelos se sesguen hacia la clase
mayoritaria en la prediccin para cada una de las observaciones.
Una buena prctica es balancear las muestras de aprendizaje (train set) o generadoras de modelo
y de test set, previo al modelamiento de manera de contrarrestar los efectos de sesgos
provocados por el desbalanceo. A continuacin se discutirn diferentes mtodos para
contrarrestar estos problemas, adems de introducir diferentes tcnicas de validacin de modelos
construidos con muestras con y sin balanceo.

Laboratorio 4
En el presente laboratorio se trabajar con la Base Credit_Lab4_bif, en donde se espera que
programe un proceso en RapidMiner que logre predecir mediante un modelo de clasificacin (en
este caso un rbol de decisin) el label Account_Status para las observaciones que se les
desconoce su clase (20 de 302 observaciones), el cual podr ser Balanced, 30 days late y 60 days
late que representan el estado de cuenta por cliente.
Adicionalmente se incorporaran mecanismos de validacin (como validacin cruzada,
bootstrapping, etc.) de los modelos predictivos propuestos, para ilustrar como estos permiten
estimar con mayor precisin el poder de clasificacin y nivel de error de los modelos estudiados.

Desarrollo Laboratorio 4
En el software RapidMiner deber cargar el archivo CSV: Credit_Lab4_bif. En el paso 2 del
importador de datos podr visualizar la informacin. El separador de columnas que se ocupa es
Semicolon, es decir, punto y coma.

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

En el paso 4 de la importacin de datos, se recomienda otorgar los roles claves (si se conocen)a los
atributos o columnas necesarios. En este caso defina los roles: id para ID y label para
Account_Status.

Esto permite que el software reconozca estos atributos como el cdigo identificador id y al Label o
atributo a predecir. Guarde la base con el nombre de Credit_2007_L4
Una vez cargada, corra la base en el programa con el botn Play y observe los datos.

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Notar que de un total de 302 observaciones, existen 20 missing Labels en el atributo


Account_Status los cuales trataremos de predecir.
Una buena prctica es que mediante la observacin, anlisis descriptivo, juicio experto etc., se
seleccionen los atributos que sern utilizados en el modelo. Una herramienta til para esto es la
matriz de correlacin. A modo de ejemplo, agregue el operador CorrelationMatrix y observe la
correlacin entre los atributos.

Nota: Para visualizar en la vista de resultados la correlacin entre atributos deber al menos haber
conectado el nodo mat con el nodo res de resultados.
En la vista de resultados se observar la siguiente matriz.

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Nota: Usted podra seleccionar un atributo que comparta la misma informacin y se comporte
similarmente con otro para disminuir la cantidad de atributos. No existe una regla estrictamente
definida o criterio para hacerlo, pero podr observar por ejemplo que Mo_Income est altamente
correlacionado con Mo_Expenses. Para efectos de este laboratorio mantendremos los atributos
originales de la base de datos. En caso de proyectos reales de muchos atributos es recomendado
que los disminuya. (Retire el operador CorrelationMatrix)
A continuacin de la base operador Retrieve agregue operador select atributes. Como no se
descartar ningn atributo por el momento elija la condicin All esto significa que se seleccionan
todos.

Luego, se requiere separar la base entre los datos a los que se conoce su clase o label y los que se
les desconoce. Vamos a generar conocimiento, realizar test y pruebas en la muestra que
conocemos para luego aplicar esto en la muestra de inters a predecir.
Para esto se puede utilizar los operadores Multiply y FilterExamples. Conecte Multiply luego de
select atributes y agregue dos operadores FilterExamples conectados a Multiply, uno para la
muestra que conocemos su clase y el otro para los que son desconocidos. Para lograr esto debe
definir como condition class en el primer filtro, no_missing_labels.

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

En el segundo filtro debe definir como condition class missing_labels.

Ahora corra el proceso para observar las muestras separadas.


Una vez que se prepar la informacin, ya es posible comenzar a generar modelos. Agregue un
rbol de decisin a la primera muestra No_missing_labels con el operador DecisionTree.

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Cambie el criterio del rbol a accuracy y el maximal depht a 4 (esto restringe la profundidad del
rbol, para efectos de este laboratorio lo definiremos en 4, para as generar un rbol fcil de
observar.
El rbol observable en la vista de resultados con las reglas de decisin es el siguiente:

Para tener una nocin del poder de clasificacin rbol, vamos a agregar los operadores
ApplyModel y Performance Clasification. ApplyModel aplicar el modelo generado en
DecisionTree y PerformanceClasification entregar un reporte en forma de Matriz de Confusin
del nivel de acierto y precisin que logra.

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Luego de correr el proceso, en la vista de resultados


PerformanceVector(performance) es posible observar lo siguiente:

en

la

pestaa

Tasa de Acierto y Tasa de Precisin por Clase


En la figura anterior es posible observar que RapidMiner nos entrega diferentes medidas de cuan
bueno o malo fue el modelo de clasificacin. El indicador accuracy nos muestra qu porcentaje de
los casos reales fueron correctamente clasificados por el modelo. La ltima fila de la matriz de
confusin nos muestra el nivel de acierto del modelo de cada clase existente en la base de datos o
class recall.
Una manera alternativa de evaluar el poder de clasificacin de los modelos es preguntarse qu
porcentaje de las predicciones que hice fueron acertadas. Este indicador es conocido como la
precisin de clase o class precision. Esto puede sonar extremadamente similar a la Tasa de Acierto
de Clase o class recall, pero en realidad corresponde a un concepto distinto. Por ejemplo, si
observamos la fila de la clase 30 days late es posible apreciar que el rbol predijo 5 veces que la
clase correspondera a 30 days late. De esas 5 predicciones 3 fueron acertadas, por lo que el nivel
de acierto de mis 5 predicciones fue de 3/5 o 60%. El nivel de acierto, por otra parte, o class recall

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

nos arroja un resultado distinto, pues nos muestra que esas 3 predicciones acertadas
corresponden slo a un 8.82% del total de observaciones reales de la clase 30 days late, o 3/34.
En definitiva, analizando la Matriz de Confusin en su conjunto podemos apreciar que a pesar de
que el modelo ha logrado un nivel de acierto de clasificacin promedio de 74.82%, dicho poder no
est igualmente distribuido en las clases que se pretende predecir. Por ejemplo, el nivel de acierto
por clase (class recall) para 30 days late slo alcanza el 8.82%, y para la clase 60 days late alcanza
apenas un 7.69%. Observando la tabla con detencin es posible notar que esto se debe a que la
muestra con la que el rbol fue construido esta desbalanceada. Es decir, existen muchos ejemplos
u observaciones de una clase y muy pocos, relativamente hablando, de otros. En este caso, es
posible notar que contamos con 209 ejemplos de clientes cuyo Account Status es Balanced, pero
con slo 39 clientes con estado 60 days late y 34 clientes 30 dayslate.
Para lidiar con este problema procederemos a Balancear la muestra cmo se explicar en las
siguientes secciones.

Muestras no Balanceadas e Indicadores de Desempeo


(Acierto y Precisin) Para Clases con Importancia Desigual
Una tarea comn en la minera de datos es desarrollar modelos de clasificacin o prediccin de
pertenencia de clases en los cuales una clase es especialmente ms importante que las otras.
Ejemplos de esta situacin podra ser el caso en el que un gerente de banco est ms interesado
en detectar a clientes con comportamiento fraudulento y/o malos pagadores. Claramente, existe
un riesgo y costo mucho mayor al cometer el error de aceptar un cliente que finalmente no pagar
o que cometer un fraude, que el costo asociado a rechazar el crdito a un buen cliente. En otras
palabras, desde el punto de vista del banco es mejor negarle el crdito a un potencial buen cliente,
que darle crdito a un cliente que no pagar o cometer fraude.
Otro ejemplo comn se da cuando los usuarios de negocios intentan encontrar clientes
potenciales que respondern positivamente a una campaa de marketing. En este caso, dado que
los presupuestos de marketing son limitados, el usuario est interesado en enviar informacin de
la campaa slo a aquellos clientes con una alta probabilidad de responder positivamente a la
misma. Sin embargo, una vez ms, aquellos clientes son pocos en proporcin relativa a aquellos
que respondern negativamente y que no comprarn nada.
El problema de minera de datos, se da entonces, cuando se revisan las proporciones en las cuales
cuyos casos se dan en la realidad. Si el banco ha sido exitoso en escoger buenos clientes en el
9

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

pasado tpicamente la proporcin de malos clientes en su base de datos ser del orden de 1% al
3%. Lo mismo ocurre con las campaas de marketing, en cuyo caso es comn encontrar tasas de
respuesta positiva cercanas al 0,5% de los clientes o incluso menos. Esto implicar que se contar
con pocos ejemplos de la vida real acerca de la clase importante a predecir.
En lnea con lo anterior, imagine la siguiente base de datos de ejemplo:
ID

Class

Account Balance

SavingsAccount

GoodCostumer

890

Yes

GoodCostumer

945

Yes

GoodCostumer

912

Yes

AverageCostumer

740

Yes

AverageCostumer

780

Yes

AverageCostumer

810

No

AverageCostumer

692

No

AverageCostumer

570

No

Regular Costumer

549

Yes

10

Regular Costumer

540

Yes

11

Regular Costumer

498

Yes

12

Regular Costumer

501

Yes

13

BadCostumer

420

No

14

BadCostumer

581

Yes

15

BadCostumer

564

No

Si estamos interesados en detectar a los malos clientes, una estrategia inicial ser el convertir un
problema de prediccin de mltiples clases, a slo dos clases, o lo que es lo mismo, un problema
de clasificacin binaria. Por ejemplo:
ID

Class

BinaryClass

Account Balance

SavingsAccount

GoodCostumer

890

Yes

GoodCostumer

945

Yes

10

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror
3

GoodCostumer

912

Yes

AverageCostumer

740

Yes

AverageCostumer

780

Yes

AverageCostumer

810

No

AverageCostumer

692

No

AverageCostumer

570

No

Regular Costumer

549

Yes

10

Regular Costumer

540

Yes

11

Regular Costumer

498

Yes

12

Regular Costumer

501

Yes

13

BadCostumer

420

No

14

BadCostumer

581

Yes

15

BadCostumer

564

No

Si entrenramos un rbol de decisin con esta base de datos podramos obtener la siguiente regla
de clasificacin (rbol):
If Account Balance>420 and Savings Account=Yes
Then Predicted Class=0
Else Predicted Class= 1
Aplicando sta regla obtendramos lo siguiente:
ID

Class

BinaryClass

Account Balance

SavingsAccount

PredictedClass

Hit?

GoodCostumer

890

Yes

Yes

GoodCostumer

945

Yes

Yes

GoodCostumer

912

Yes

Yes

AverageCostumer

740

Yes

Yes

11

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror
5

AverageCostumer

780

Yes

Yes

AverageCostumer

810

No

No

AverageCostumer

692

No

No

AverageCostumer

570

No

No

Regular Costumer

549

Yes

Yes

10

Regular Costumer

540

Yes

Yes

11

Regular Costumer

498

Yes

Yes

12

Regular Costumer

501

Yes

Yes

13

BadCostumer

450

Yes

No

14

BadCostumer

581

No

Yes

15

BadCostumer

564

Yes

No

Comparado la clase de cliente real con la clase predicha obtendramos un nivel de acierto total de
10 casos correctos sobre un total de 15 casos, es decir, un 66.7% de acierto. Esto puede sonar
como un buen resultado, pero en realidad es uno bastante malo. De hecho, si slo considerramos
cuan efectivo fue el modelo en la clase que importaba, el nivel de acierto cae drsticamente a
33.33%, o 1 caso clasificado correctamente sobre un total de 3 (slo un cliente malo fue clasificado
correctamente como malo!).
Por qu ocurre que las Tasas de Acierto son distintas para las distintas clases? Existe algn
problema con el algoritmo? La respuesta es que no realmente. Lo que ocurre es que el algoritmo
est diseado para encontrar el modelo que mejor se ajuste a la totalidad de la muestra, y por
tanto, si ajustamos un modelo ste ser muy bueno para describir a los casos que ocurren
frecuentemente en la base de datos. De hecho, si observamos cuan bueno fue el algoritmo en la
clase ms comn (buenos clientes) podremos observar que el nivel de acierto a los buenos clientes
fue de 9/12 o 75%. Dado que existen ms ejemplos de buenos clientes en la base, es ms probable
que stos queden mejor representados por el algoritmo. Dado lo anterior, debemos tener en
consideracin el nivel de acierto del algoritmo en la base completa (66.6%); en la clase importante
(33.3%); y en la no tan importante (75%). Las ltimas dos medidas son conocidas como las
medidas de Tasa de Acierto de Clase de importancia Desigual o Class Recall Unequal Measures of
Importance.

12

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Estrategias de Balanceo de Muestras


Si el objetivo del modelamiento es obtener un alto poder de clasificacin en la clase importante,
una estrategia a considerar consiste en balancear artificialmente la base antes de comenzar el
entrenamiento. Trabajar con una muestra balanceada forzar al algoritmo a representar todas las
clases existentes en la base, y no slo aquella sobrerrepresentada como ocurra antes de
balancear la muestra. Existen dos maneras tpicas de lograr este balance artificial: submuestreo o
undersampling y sobremuestreo u oversampling.
Submuestrar la clase importante implica utilizar todos los ejemplos de la clase importante y slo
una porcin equivalente de la clase no importante. Volviendo a la base de ejemplo original, este
procedimiento lucira de la siguiente manera:
Paso 0: Cree las clases binarias
Paso 1: Mantenga todas las observaciones de la clase importante y seleccione un nmero igual de
casos aleatoriamente seleccionados de la clase no importante:
ID

Class

BinaryClass

Account Balance

SavingsAccount

GoodCostumer

912

Yes

AverageCostumer

810

No

12

Regular Costumer

501

Yes

13

BadCostumer

450

Yes

14

BadCostumer

581

No

15

BadCostumer

564

Yes

Ahora utilice esta muestra para entrenar su modelo de clasificacin.


Paso 3: Calcule las Unequal Measures of Importance.
En el caso del sobremuestreo repita el Paso 0, pero en vez:
Paso 1: Mantenga todos los casos de la base original y agregue copias de los casos de la clase
importante. Esta adicin se hace simplemente replicando los ejemplos de la clase importantes
tantas veces como sea necesario hasta lograr equiparar el nmero de ejemplos existentes de la
clase importante:

13

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror
ID

Class

BinaryClass

Account Balance

SavingsAccount

GoodCostumer

890

Yes

GoodCostumer

945

Yes

GoodCostumer

912

Yes

AverageCostumer

740

Yes

AverageCostumer

780

Yes

AverageCostumer

810

No

AverageCostumer

692

No

AverageCostumer

570

No

Regular Costumer

549

Yes

10

Regular Costumer

540

Yes

11

Regular Costumer

498

Yes

12

Regular Costumer

501

Yes

13

BadCostumer

420

No

14

BadCostumer

581

Yes

15

BadCostumer

564

No

F16

BadCostumer

450

Yes

F17

BadCostumer

581

No

F18

BadCostumer

564

Yes

F19

BadCostumer

450

Yes

F20

BadCostumer

581

No

F21

BadCostumer

564

Yes

F22

BadCostumer

450

Yes

F23

BadCostumer

581

No

F24

BadCostumer

564

Yes

14

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Paso 2: Ahora utilice esta muestra para entrenar su modelo de clasificacin.


Paso 3: Calcule las Unequal Measures of Importance.
Existen otras maneras de lidiar con el problema de las clases desbalanceadas, pero las descritas
anteriormente son un muy buen comienzo. Otra aproximacin al problema es usar diferentes
funciones de costos de clasificacin de los errores, pero esta manera no ser descrita en este lab.
En general, el submuestreo es ms rpido y simple de implementar en los softwares de minera de
datos, pero su desventaja es que el no utilizar una porcin importante de los datos originales (de
la clase no importante) puede ser visto como una prdida importante de informacin valiosa. Por
esta misma razn, el sobremuestreo tiende a ser preferido y tiende a arrojar mejores resultados y
modelos. Por otra parte, el sobremuestreo puede ser ms complejo de manejar, sobre todo
cuando se trabaja con bases extremadamente grandes, lo que puede requerir mayor capacidad de
procesamiento computacional y puede ser visto como una desventaja.

Balanceo de Muestras con RapidMiner


Previo a realizar el balanceo es til conocer con precisin el nmero de casos existentes en cada
clase, para lo cual utilizaremos el operador Aggregate visto en laboratorios anteriores. Por el
momento, eliminaremos los operadores de DecisionTrees, Apply y Performance% pues antes de
modelar, llevaremos a cabo los pasos necesarios para balancear la muestra como se muestra a
continuacin:

Dado que queremos contar la cantidad de casos por clase para el Atributo Account Status
seleccione dicho atributo como GroupBy y como Aggregation Attribute. Seleccione adems que la
Aggregation Function es Count. Ejecute el proceso y podr observar la siguiente tabla:

15

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Tal como se haba discutido, claramente se observa un nmero desigual de observaciones u


ejemplos por cada clase. A continuacin procederemos a balancear dichos ejemplos.

Undersampling o Submuestreo
En RapidMiner es posible submuestrear de manera bastante sencilla. Simplemente conecte el
operado Sample y active la opcin balance data. Al hacerlo, nuevas opciones estarn disponibles
en el operador. Estas nos permiten decidir de qu manera queremos balancear la muestra, por
ejemplo, escogiendo un nmero absoluto de casos de cada clase, o estableciendo un ratio o
probabilidad de seleccin para cada grupo. Dado que conocemos el nmero de casos que
necesitamos de cada clase escoja la opcin sample: Absolute y luego defina que el sample size per
class es de 34 observaciones. Note que es necesario conocer los nombres de las clases y stos
deben ser introducidos exactamente igual como aparecen en los datos como se aprecia a
continuacin:

16

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Un operador Multiply fue posicionado convenientemente de manera de no perder los resultados


del nodo Aggregate que habamos ejecutado anteriormente.
Al ejecutar el proceso deberamos observar que ahora contamos con una muestra con 102
observaciones cuya cantidad de ejemplos por clase es idntica. Utilizando el Plot View, Bar Charts
es posible realizar el siguiente grfico:

Oversampling o Sobremuestreo
RapidMiner no cuenta con un operador que directamente nos permite sobremuestrar los datos,
sin embargo, es posible realizar un proceso equivalente combinado un par de operadores. El
primer paso para esto es el de lograr replicar los ejemplos de las clases sub-representadas tantas
veces como sea necesario hasta lograr un nmero equivalente de casos a los de la clase con mayor
17

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

representacin. Si recordamos, esto quiere decir que es necesario lograr tener al menos 209
ejemplos de cada clase, de manera que stas queden balanceadas. Realizando un clculo simple,
es posible deducir que ser necesario replicar aproximadamente 7 veces las observaciones de la
clase 30 days late para alcanzar ese nmero (34*7=238). Para realizar la operacin de replicado
conectaremos el operador Sample (Bootstrapping) y definiremos que el sampleratio es 7. Este
operador realizar un muestreo con reemplazo sobre nuestros datos, y por tanto, ser capaz de
crear muestras del tamao requerido a partir de los datos originales:

A continuacin, conectaremos un operador Sample y escogeremos nuevamente la opcin sample:


Absolute pudiendo definir esta vez que el samplesize per class es de 250 observaciones.
Cmo es posible seleccionar 250 observaciones de cada clase, en circunstancias que en la base
original la clase con ms observaciones tena 209 casos?
Ejecutando el proceso y visualizando el resultado como un grfico de barras deberamos apreciar
que la ahora muestra se encuentra balanceada:

18

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Modelamiento con Muestra Balanceada


No es necesario realizar ningn paso adicional para modelar con muestras balanceadas, por lo que
simplemente repetiremos los pasos de modelamiento realizados al comienzo de laboratorio.
Realizaremos dos modelos: uno para la base submuestreada y otro para la base sobremuestreada
de manera de poder comparar los resultados. Su proceso debera lucir as:

19

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Resultados Sub-Muestreo:

Resultados Sobre-Muestreo:

Resultados Original:

Es posible observar, que en general con ambos mtodos el nivel de acierto por clase mejor
significativamente para las clases que originalmente se encontraban sub-representadas, y que al
menos en trminos de porcentaje de acierto promedio el sub-muestreo pareciese ser una mejor
tcnica. Sin embargo, recuerde que ste modelo fue entrenado y aplicado utilizando slo a una
porcin menor de los datos de las clases Balanced y 60 days late, por lo que estos resultados no
son representativos de su efectividad real. Ms acerca de este tipo de problema se discutir en la
seccin siguiente del laboratorio.
Asumiendo que el modelo entrenado con la base sobremuestreada es efectivamente mejor, ahora
procederemos a aplicarlo a la porcin de los datos originales en los cuales desconocamos su clase.
Para ello conectaremos el operador Multiply despus del segundo DecisionTree, lo que nos
permitir aplicarlo en la segunda parte de la base de datos. No ser posible aplicar el operador
Performance%, pero s seremos capaces de apreciar la clase predicha por el modelo para dichos
clientes como se muestra a continuacin:

20

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Por qu no es posible aplicar el operador %Performance?


En la vista meta data view, note que el total de observaciones son 20, que es la cantidad de
observaciones que se desconocan su Label. Adems han aparecido 4 columnas nuevas: prediction
(prediccin que se le otorga a cada una de las observaciones), confidence_Balanced,
confidence_60 days late y confidence 30 days late (entregan el grado de confianza en que sean de
una clase respectiva).

21

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Por ejemplo la observacin N8 de ID 621, tiene como prediccin Balanced de Account_Status con
un grado de confianza de 93,5%.

Tcnicas de Evaluacin y Validacin de Modelos


Un problema habitual en la minera de datos es el estimar el nivel de confianza de las predicciones
y resultados de los modelos que se elaboran. Como en toda tarea de modelamiento, la calidad de
los resultados depende fuertemente de la calidad, cantidad y representatividad de los datos con el
modelo fue creado. Si bien no existen reglas definitivas respecto de cmo solucionar estos
problemas, existen algunas reglas y consejos generales que discutiremos a continuacin.
El primer concepto que es necesario entender es que el nivel de acierto u error del modelo en los
datos con los que fue entrenado no es necesariamente representativo del nivel de acierto u error
real del modelo. Esto se debe principalmente a dos razones, la primera es que los datos reales en
que los modelos sern aplicados no necesariamente sern iguales a con los que fue creado. Esto es
especialmente cierto en los problemas de negocios y sociales con los que los usuarios de Business
Intelligence usualmente trabajan: nadie puede ser capaz de modelar perfectamente el
comportamiento futuro de los seres humanos. La segunda razn se relaciona con la excelente
capacidad que tienen algunos modelos de ajustarse a los datos presentados. Modelos tales como
las Redes Neuronales, rboles de Decisin, Support Vector Machines, y en general cualquier
modelo no-lineal avanzado tienen una gran capacidad de ajustarse tanto a los datos que incluso
pueden ser capaces de aprenderse el ruido que los mismos contienen, provocndose un sobre
ajuste a los datos del pasado y perdiendo la capacidad de "entender" y generalizar reglas de
prediccin que sean vlidas en el futuro. Este problema de sobre-ajuste a los datos es conocido
tcnicamente como data snooping y ocurre principalmente cuando tcnicas de modelamiento

22

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

poderosas son aplicadas a bases de datos pequeas, o cuando los datos son escogidos de manera
tal que los modelos logran resultados "perfectos" imposibles de replicar en otras muestras.

Hold-out method
Como se discuti en el Laboratorio anterior, una primera manera de minimizar estos problemas es
el de utilizar una parte de la base de datos para crear el modelo y otras partes para probar su
eficacia en datos que nunca ha visto. Definimos anteriormente que por lo general, se habla de tres
tipos de grupos o particiones: Muestra de Entrenamiento, Muestra de Prueba y Muestra de
Produccin. Esta manera de entrenar y probar los modelos puede generalizada de manera tal que
por medio de un muestreo sin reemplazo un parte (generalmente (2/3) de los datos sea utilizada
para entrenar el modelo, y la parte restante (1/3) sea utilizada para probarlos. Esta manera se
denomina hold-out method dado que utilizamos slo una porcin de los datos para crear los
modelos y dejamos de lado otra parte para probarlo.
Si bien este mtodo es universalmente aplicado y altamente efectivo posee algunas limitaciones.
La primera y ms obvia ocurre cuando existen pocas observaciones con las cuales construir el
modelo dado que no es eficiente dejar de lado observaciones si stas son escasas y/o fueron
difciles de obtener. Este problema es recurrente cuando trabajamos con muestras
desbalanceadas y con clases de importancia desigual, dado que como veamos la cantidad de
datos de la clase importante puede ser muy limitada en comparacin con las clases menos
importantes. Otro problema, es que este mtodo no nos permite obtener un intervalo de
confianza de los indicadores de efectividad del modelo (class precision y class recall por ejemplo),
dado que slo contamos con dos estimadores, uno para la muestra de entrenamiento y otro para
la muestra de prueba.

Repeated Hold-out method


Conceptualmente es posible entrenar y probar el modelo n-veces repitiendo el proceso de
muestreo aleatorio sin reemplazo de la metodologa hold-out. Al hacerlo, tendremos la ventaja de
contar con n muestras, lo que nos permitira calcular un intervalo de confianza para los
indicadores de efectividad. Supongamos que hemos entrenado un rbol de decisin cuyo nivel de
acierto de clase promedio fue de 85% en la primera muestra de entrenamiento. Supongamos por
simplicidad que ste indicador adems es representativo del nivel de acierto de todas las clases. Si
realizamos el proceso de hold-out 10 veces podremos probar el modelo en 10 muestras de prueba
distintas y sera posible estimar lo siguiente:

23

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror
Tipo de Muestra
Nivel de Acierto (Class Recall)

Entrenamiento
85%

Prueba 1
84%

Class Recall Promedio


Desviacin Standard
Intervalo Confianza al 80%

Prueba 2
60%

Prueba 3
90%

Prueba 4
68%

75.10%
13.41%
63.83%

Prueba 5
63%

Prueba 6
61%

Prueba 7
95%

Prueba 8
64%

Prueba 9
78%

Prueba 10
88%

86.37%

Este mtodo es conocido como repeated hold-out method y nos permite apreciar que el nivel de
acierto de la muestra de entrenamiento 1 sobrestima el poder de prediccin del modelo, y que el
nivel ms probable est en un intervalo entre el 63% y 86% de acierto.

Cross-Validation method
La Cross Validation es una extensin del repeated hold-outmethod en la cual base de datos es
dividida en X secciones de igual tamao, utilizndose luego todas las secciones menos una para
entrenar el modelo, dejando la seccin que no se utiliz en el entrenamiento para realizar la
prueba del modelo.

En comparacin con la metodologa repeated hold-out es posible notar que en este caso el
"orden" de las filas de la muestra fue mantenido mientras se iteraba. En cambio, en el mtodo
hold-out dicho orden no se mantiene dado que en cada iteracin se escogen las muestras de
prueba y entrenamiento por medio de un muestreo aleatorio simple sin reemplazo. Para aplicar la
validacin cruzada en RapidMiner se deben seguir los pasos que mostraremos a continuacin. Se
utilizar la parte del proceso en que la muestra fue balanceada por el mtodo del sobre muestreo.
Inserte el operador X Validation despus del operador Sample (2) y elimine momentneamente
los operadores DecisionTree(2), Apply (2) y Performance% (2) como se ilustra en la siguiente
imagen:

24

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Haga doble click en el operador X Validation. Dentro de este deber repetir la orden de generar
un modelo de rbol (DecisionTree), aplicarlo (ApplyModel) y medir su desempeo (Performance
clasification) como se observa en la siguiente imagen.

Note que en esta vista se logra identificar que se separan los procesos de entrenamiento (training)
y de prueba o test (testing). El modelo del rbol se genera en Training y este se aplicar en la etapa
de prueba. Adicionalmente se puede configurar el nmero de validaciones o iteraciones que se
estimen convenientes.

25

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Conecte las salidas del operador Validation al repositorio como se aprecia en la imagen anterior.
Observe que un nuevo color de lnea caf ha sido conectado desde la salida ave al repositorio. Esta
conexin guardar los resultados de la validacin cruzada, representando ave el average o
promedio de los indicadores de desempeo que hayamos solicitado, nivel de acierto en este
ejemplo. Ejecute el proceso y observe la nueva Matriz de Confusin y los resultados del modelo
generado a travs de la validacin cruzada:
Resultados Sobre-Muestreo con X-Validation:

Resultados Sobre-Muestreo Original:

Podemos observar que ahora contamos una estimacin del intervalo de confianza del nivel de
acierto el cual en promedio es mucho mayor que la estimacin original (77.07%) con un margen de
error estimado del 13.89%.

Cross-Validation method - Leave one out


Una manera alternativa y especialmente til cuando contamos con muestras muy pequeas es la
validacin cruzada dejando slo una observacin fuera. Suponiendo que tenemos n observaciones
en la base de datos, ste mtodo escoger en la primera iteracin n-1 datos para realizar el
modelo guardando el resultado. Luego iterativamente repetir el proceso n veces hasta contar con
n estimaciones de la calidad del modelo las que sern promediadas para calcular los resultados
26

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

finales. Para utilizar esta opcin en RapidMiner simplemente debe activarse la opcin leave one
out en el operador de X-Validation:

Active esta opcin y compare los resultados con los resultados anteriores, qu puede interpretar
de stos resultados?

Cross-Validation method - Bootstrapping


La extensin final de la metodologa de validacin cruzada es conocida como Bootstrapping. En la
validacin cruzada tradicional la muestra fue dividida en X secciones las que fueron utilizadas
iterativamente para probar el modelo. Los datos en estas particiones fueron escogidos de manera
que no se repitieran entre ellas. Por el contrario, la metodologa de boostrapping crear k
muestras de entrenamiento y prueba en que los datos pueden repetirse. Es decir, realizar
muestreos con reemplazo para crear dichas particiones y luego probar los modelos en ellas.
La ventaja de realizar este procedimiento es utilizar al mximo las observaciones con las que
cuenta el analista, y al mismo tiempo, probar el modelo en muchsimos ms escenarios de los que
se podra probar con las metodologas anteriores. Dado que se utiliza una metodologa de
muestreo con reemplazo conceptualmente el nmero de particiones o escenarios de prueba
puede ser infinito ya que existen infinitas combinaciones en que se pueden escoger los datos.
Si bien esta metodologa es altamente poderosa tiene como limitante que requiere ms tiempo y
capacidad de procesamiento de los computadores, y que adems altera el orden natural de los
datos, lo que puede ser un importante problema si se est trabajando con datos de series de
tiempo. Otras metodologas de validacin cuando se trabaja con series de tiempo sern
presentados en el siguiente laboratorio.
Para utilizar validacin cruzada con bootstrapping en RapidMiner conectaremos el operador
Bootstrapping Validation con el operador Multiply, reemplazando el operador X-Validation
anterior tal como se realiz con el operador anterior de X Validation. Dentro del operador
Bootstrapping Validation tambin deber agregar un rbol de decisin (DecisionTree), aplicar el
modelo (Apply Model) y medir el desempeo (Performance clasification%).
27

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

Ejecute el proceso y revise la matriz de confusin en la vista de resultados.

Mtodos de Validacin Comentarios Finales


El nivel de precisin aument en comparacin a los dos procesos anteriores debido a que
RapidMiner le permite al modelo (DecisionTree) aprender de sus errores de clasificacin mientras
itera probando modelos a travs de todas las muestras. Esto hace que aumente no tan slo el
nivel de acierto promedio, sino que tambin el class recall de las clases de inters (30 days late y
60 days late) que dependiendo el contexto del problema puede ser un objetivo deseable a
conseguir.
Esto se sencillo de entender, si se considera que cuando se entrena sin validacin el algoritmo slo
tiene una oportunidad para crear el mejor modelo que se adapte a los datos. Al utilizar mtodos
de validacin repetida, cmo es el caso del repeated hold-out- x-validation, leave one-out, y
bootstrapping el algoritmo podr ir mejorando sus predicciones en la medida que va entrenando y
probando el modelo reiteradas veces en distintas partes de la muestra. Si bien esto en principio es
una ventaja, tambin existe la posibilidad de que en el extremo el usar los datos mltiples veces y
permitir al algoritmo aprender indefinidamente sin lmite de tiempo o de iteraciones nos lleve
nuevamente a un problema de data snooping.
Como se coment al principio del lab no existe una nica forma o forma mgica de evaluar los
modelos, por lo que se recomienda utilizar el hold-out method cuando se cuenta con una cantidad
suficientemente grande de observaciones para cada una de las clases. Adems, siempre es posible
combinar esta estrategia con una de balanceo. Si la muestra a estudiar es pequea y la capacidad
28

Business Intelligence y Data


Mining Financiero.
ENFIN 748
Profesor: David Daz., PhD.
Ayudante: Javier Venegas
Marco Zaror

de clculo y tiempo no es un problema, se recomienda utilizar cualquiera de los mtodos de


validacin repetida vistos (repeated hold-out- x-validation, leave one-out, y bootstrapping).
La recomendacin final es siempre monitorear continuamente el desempeo de los modelos
cuando son utilizados en problemas de la vida real. Es necesario recordar que el CRISP-DM es una
metodologa cclica en la que siempre es necesario estar iterando para revisar que las predicciones
y lo aprendido de las bases de datos est en lnea con los objetivos de negocios.

Tarea 4:
1) Compare los rboles de decisin obtenidos en el laboratorio con sub y sobre-muestreo,
qu similitudes y diferencias puede apreciar? qu rbol es mejor? Justifique su
respuesta.
2) A partir de la Base Credit_Lab4_bif ocupada en laboratorio 4, realice al menos dos
nuevos proceso de prediccin, esta vez utilizando modelos distintos al rbol de decisin
y compare los resultados de los clasificadores; por ejemplo: redes neuronales, logistic
regressions, o support vector machines. (Trabaje paralelamente los modelos a partir del
operador Multiply. Considere los ajustes necesarios en el pre-procesamiento de la
muestra de datos para que pueda aplicar los distintos modelos.
a. Realice una interpretacin de los niveles de accuracy, class recall y class
precision. Qu modelo sera preferido de usar en el contexto de un Banco? Por
qu?
3) Explique cul es la utilidad del indicador class precisin y de un ejemplo aplicado en un
negocio.
4) Qu pre-procesamiento de datos propone si en la base de datos en estudio, el Label
presenta ms de 10 clases o posibles estados? Hint. Refirase a la importancia de los
aciertos o errores en las diferentes clases.
5) Qu ventajas y desventajas presenta realizar sobre muestreo y sub muestreo?. En qu
casos lo recomendara y en qu casos lo evitara?.
6) El modelamiento de datos muy detallado y especfico puede ocasionar perdida de
generalidad en los modelos creados. Comente cuales serian la implicancias en las
clasificaciones y predicciones de clases o labels desconocidas cuando se cae en sobre
entrenamiento o data snooping. Qu indicadores utilizara usted para cerciorarse que
su modelo no ha sido sobre-entrenado?
Pregunta Bonus:
Es posible utilizar un modelo de clasificacin para realizar predicciones puntuales o de nivel? Si
la respuesta es afirmativa, explique cmo.
29

S-ar putea să vă placă și