2015-06-0420159462015-04-102015862013-08-142013922laboratorio_4_(muestras_no_balanceadas_y_validacion)_(1)...

29
Business Intelligence y Data Mining Financiero. ENFIN 748 Profesor: David Díaz., PhD. Ayudante: Javier Venegas Marco Zaror 1 Laboratorio 4: Modelamiento con muestras no balanceadas y Métodos de Validación de Modelos (Hold-out, Cross-Validation, Bootstrapping) Temas en este laboratorio: Importar datos Hold-out method Cross-Validation Cross-Validation Leaveoneout Cross-Validation Bootstrapping

Upload: beto

Post on 17-Sep-2015

17 views

Category:

Documents


1 download

DESCRIPTION

BUSINESS INTELLIGENCE

TRANSCRIPT

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    1

    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

    2

    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

    3

    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

    4

    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

    5

    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

    6

    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

    7

    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

    8

    Luego de correr el proceso, en la vista de resultados en la pestaa

    PerformanceVector(performance) es posible observar lo siguiente:

    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

    9

    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

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    10

    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

    1 GoodCostumer 890 Yes

    2 GoodCostumer 945 Yes

    3 GoodCostumer 912 Yes

    4 AverageCostumer 740 Yes

    5 AverageCostumer 780 Yes

    6 AverageCostumer 810 No

    7 AverageCostumer 692 No

    8 AverageCostumer 570 No

    9 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

    1 GoodCostumer 0 890 Yes

    2 GoodCostumer 0 945 Yes

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    11

    3 GoodCostumer 0 912 Yes

    4 AverageCostumer 0 740 Yes

    5 AverageCostumer 0 780 Yes

    6 AverageCostumer 0 810 No

    7 AverageCostumer 0 692 No

    8 AverageCostumer 0 570 No

    9 Regular Costumer 0 549 Yes

    10 Regular Costumer 0 540 Yes

    11 Regular Costumer 0 498 Yes

    12 Regular Costumer 0 501 Yes

    13 BadCostumer 1 420 No

    14 BadCostumer 1 581 Yes

    15 BadCostumer 1 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?

    1 GoodCostumer 0 890 Yes 0 Yes

    2 GoodCostumer 0 945 Yes 0 Yes

    3 GoodCostumer 0 912 Yes 0 Yes

    4 AverageCostumer 0 740 Yes 0 Yes

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    12

    5 AverageCostumer 0 780 Yes 0 Yes

    6 AverageCostumer 0 810 No 1 No

    7 AverageCostumer 0 692 No 1 No

    8 AverageCostumer 0 570 No 1 No

    9 Regular Costumer 0 549 Yes 0 Yes

    10 Regular Costumer 0 540 Yes 0 Yes

    11 Regular Costumer 0 498 Yes 0 Yes

    12 Regular Costumer 0 501 Yes 0 Yes

    13 BadCostumer 1 450 Yes 0 No

    14 BadCostumer 1 581 No 1 Yes

    15 BadCostumer 1 564 Yes 0 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.

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    13

    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

    3 GoodCostumer 0 912 Yes

    6 AverageCostumer 0 810 No

    12 Regular Costumer 0 501 Yes

    13 BadCostumer 1 450 Yes

    14 BadCostumer 1 581 No

    15 BadCostumer 1 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:

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    14

    ID Class BinaryClass Account Balance SavingsAccount

    1 GoodCostumer 0 890 Yes

    2 GoodCostumer 0 945 Yes

    3 GoodCostumer 0 912 Yes

    4 AverageCostumer 0 740 Yes

    5 AverageCostumer 0 780 Yes

    6 AverageCostumer 0 810 No

    7 AverageCostumer 0 692 No

    8 AverageCostumer 0 570 No

    9 Regular Costumer 0 549 Yes

    10 Regular Costumer 0 540 Yes

    11 Regular Costumer 0 498 Yes

    12 Regular Costumer 0 501 Yes

    13 BadCostumer 1 420 No

    14 BadCostumer 1 581 Yes

    15 BadCostumer 1 564 No

    F16 BadCostumer 1 450 Yes

    F17 BadCostumer 1 581 No

    F18 BadCostumer 1 564 Yes

    F19 BadCostumer 1 450 Yes

    F20 BadCostumer 1 581 No

    F21 BadCostumer 1 564 Yes

    F22 BadCostumer 1 450 Yes

    F23 BadCostumer 1 581 No

    F24 BadCostumer 1 564 Yes

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    15

    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:

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    16

    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:

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    17

    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

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    18

    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:

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    19

    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:

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    20

    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:

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    21

    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).

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    22

    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

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    23

    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:

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    24

    Class Recall Promedio 75.10%

    Desviacin Standard 13.41%

    Intervalo Confianza al 80% 63.83% 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:

    Tipo de Muestra Entrenamiento Prueba 1 Prueba 2 Prueba 3 Prueba 4 Prueba 5 Prueba 6 Prueba 7 Prueba 8 Prueba 9 Prueba 10

    Nivel de Acierto (Class Recall) 85% 84% 60% 90% 68% 63% 61% 95% 64% 78% 88%

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    25

    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.

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    26

    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

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    27

    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%).

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    28

    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

  • Business Intelligence y Data Mining Financiero.

    ENFIN 748

    Profesor: David Daz., PhD. Ayudante: Javier Venegas

    Marco Zaror

    29

    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.