epb 603 sistemas del conocimientooldemarrodriguez.com/yahoo_site_admin/assets/docs...8 eia411...

21
1 Universidad Nacional EIA411 - Minería de Datos EPB 603 Sistemas del Conocimiento Dr. Oldemar Rodríguez R. Maestría en Administración de la Tecnología de la Información Escuela de Informática Universidad Nacional EPB 603 Sistemas del Conocimiento Universidad Nacional EIA411 - Minería de Datos Capítulo Capítulo 5 Clasificación Bayesiana Clasificación Bayesiana (Método de (Método de Naïve Naïve Bayes Bayes) EPB 603 Sistemas del Conocimiento

Upload: phamkhuong

Post on 08-Feb-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

1

Universidad NacionalEIA411 - Minería de Datos

EPB 603Sistemas del Conocimiento

Dr. Oldemar Rodríguez R.Maestría en Administración de la

Tecnología de la Información

Escuela de InformáticaUniversidad Nacional

EPB 603 Sistemas del Conocimiento

Universidad NacionalEIA411 - Minería de Datos

Capítulo Capítulo 55Clasificación BayesianaClasificación Bayesiana(Método de (Método de NaïveNaïve BayesBayes))

EPB 603 Sistemas del Conocimiento

2

Universidad NacionalEIA411 - Minería de Datos

Tareas de la Minería de Datos

• Clasificación (discriminación): Mapea o asocia individuos a grupos predefinidos (aprendizaje supervisado).– Encuentra modelos (funciones) que describen

y distinguen clases o conceptos para futuras predicciones.

– Ejemplos: Credit scoring.

– Métodos: Análisis discriminante, decision-tree, classification rule, neural network.

EPB 603 Sistemas del Conocimiento

Universidad NacionalEIA411 - Minería de Datos

v1v2

v4

v3

v5

v6

v8

EPB 603 Sistemas del Conocimiento

3

Universidad NacionalEIA411 - Minería de Datos

Definición de Clasificación

• Dada una base de datos � = {�1, �2, … , � } de tuplas o registros (individuos) y un conjunto de clases � = {�1, �2, … , �� }, el problema de la clasificación es encontrar una función �: � →� tal que para cada �� es asignada una clase �� .

• �: � → � podría ser una Red Neuronal, un Árbol de Decisión,

un modelo basado en Análisis Discriminante, o una Red Beyesiana.

Universidad NacionalEIA411 - Minería de Datos

Ejemplo: Créditos en un BancoTabla de Aprendizaje

Con la Tabla de Aprendizaje se entrena (aprende) el modelo matemático de predicción, es decir, a partir de esta tabla se calcula la función f de la definición anterior.

Variable Discriminante

4

Universidad NacionalEIA411 - Minería de Datos

Descripción de Variables

MontoCredito MontoCuota

1=Muy Bajo 1=Muy Bajo

2=Bajo 2=Bajo

3=Medio 3=Medio

4=Alto 4=Alto

IngresoNeto GradoAcademico

1=Muy Bajo 1=Bachiller

2=Bajo 2=Licenciatura

3=Medio 3=Maestría

4=Alto 4=Doctorado

CoeficienteCreditoAvaluo BuenPagador

1=Muy Bajo 1=SI

2=Bajo 2=NO

3=Medio

4=Alto

Universidad NacionalEIA411 - Minería de Datos

Ejemplo: Créditos en un BancoTabla de Testing

Con la Tabla de Testing se valida el modelo matemático de predicción, es decir, se verifica que los resultados en individuos que no participaron en la construcción del modelo es bueno o aceptable.

Variable Discriminante

5

Universidad NacionalEIA411 - Minería de Datos

Ejemplo: Créditos en un BancoNuevos Individuos

Con la Tabla de Nuevos Individuos se predice si estos serán o no buenos pagadores.

Variable Discriminante

Universidad NacionalEIA411 - Minería de Datos

Cálculo de ProbabilidadesTomado del libro: Probabilidad y estadística para ingenieros - R. Walpole, R. Myers

6

Universidad NacionalEIA411 - Minería de Datos

Probabilidad Condicional

Ejemplo: Se lanza un dado y se tienen los siguientes eventos:A: Se observa un número impar.B: Se observa un 1.

P(B)=1/6 pues solo hay un caso favorable {1} y hay 6 casos posibles {1,2,3,4,5,6}

P(B|A)=1/3 pues solo hay un caso favorable {1} y hay únicamente 3 casos posibles {1,3,5}, como ya ocurrió A el dado debe ser impar por lo que el universo de posibilidades se reduce a los números impares.

Nótese que A∩∩∩∩Β={1} por lo que P(A∩∩∩∩Β)=1/6, además P(A)=3/6 pues hay 3 casos favorables {1,3,5} y 6 casos posibles {1,2,3,4,5,6}.

Entonces: ESTO SIEMPRE SE CUMPLE

Universidad NacionalEIA411 - Minería de Datos

Definición de Probabilidad Condicional

7

Universidad NacionalEIA411 - Minería de Datos

Teorema de la Probabilidad Total

Universidad NacionalEIA411 - Minería de Datos

Teorema de la Probabilidad Total

8

Universidad NacionalEIA411 - Minería de Datos

Ejemplo: Cierto artículo es manufacturado por tres fábricas, F1, F2, y F3. Se sabe que la primera fábrica produce el doble que la segunda, y que la segunda fábrica produce igual que la tercera. Se sabe además que el 2% de los artículos producidos por las dos primeras fábricas son defectuosos, mientras que el 4% de los artículos producidos por la tercera fábrica son defectuosos.

Si se colocan todos los artículos en una fila y se escoge uno al azar ¿cuál es la

probabilidad de que este artículo sea defectuoso?

SolucióSolucióSolucióSolución: n: n: n: Sea S el espacio muestral completo y considere los siguientes eventos:

B={El artículo es defectuoso}

A1={El artículo fue fabricado en F1}

A2={El artículo fue fabricado en F2}

A3={El artículo fue fabricado en F3}

Nótese que 0 = 11 ∪ 12 ∪ 13, entonces:

3456 = 345|11634116 + 345|12634126 + 345|13634136

3456 =2

100∙

12

+2

100∙

14

+4

100∙

14

=5

200= 0,025

Universidad NacionalEIA411 - Minería de Datos

Teorema de Naïve Bayes

9

Universidad NacionalEIA411 - Minería de Datos

Ejemplo: Siguiendo con el ejemplo anterior, supóngase que se escoge un artículo al azar y que este resulta defectuoso. ¿Cuál es la probabilidad de que este artículo haya sido

producido en la primera fabrica?

Solución:Solución:Solución:Solución: Deseamos calcular 3411|56, usando el Teorema de Naïve Bayes, esto es:

3411|56 =345|116 ∙ 34116

∑ 345|1� 6 ∙ 341� 63� =1

=345|116 ∙ 34116

345|11634116 + 345|12634126 + 345|13634136

3411|56 =

2100 ∙ 1

22

100 ∙ 12 + 2

100 ∙ 14 + 4

100 ∙ 14 = 5

200

=0,01

0,025= 0,4

Universidad NacionalEIA411 - Minería de Datos

Eventos Independientes

10

Universidad NacionalEIA411 - Minería de Datos

Ejemplo de Clasificación BayesianaSupongamos que tenemos la siguiente tabla de datos con el Género y la Altura para 15 individuos,

además se tiene una columna con la clasificación para cada individuo en P=Pequeño, M=Mediano

o A=Alto. La variable Género tiene dos modalidades F=Femenino y M=Masculino, mientras que la

variables Altura tiene 6 modalidades 1 si Altura∈]0,1.6], 2 si Altura∈]1.6,1.7], 3 si

Altura∈]1.7,1.8], 4 si Altura∈]1.8,1.9], 5 si Altura∈]1.9,2] y 1 si Altura∈]2,+∞].

Nombre Género Altura Clase

Kristina F 1 P

Jim M 5 A

Maggi F 4 M

Martha F 4 M

Stephanie F 2 P

Bob M 4 M

Kathy F 1 P

Dave M 2 P

Worth M 6 A

Steven M 6 A

Debbie F 3 M

Todd M 5 M

Kim F 4 M

Amy F 3 M

Wynette F 3 M

Universidad NacionalEIA411 - Minería de Datos

Ejemplo de Clasificación Bayesiana

• Supongamos que se tiene una nueva fila de la base de datos

t = (Adam, M, 5, ?).

• El problema es: a partir de los datos históricos y usando

Clasificación Bayesiana predecir si Adam corresponde a un

individuo Pequeño, Mediano o Alto, es decir, saber si tiene

mayor probabilidad de ser Pequeño, Mediano o Alto.

• Un análisis a la ligera diría que es alto pues Todd es M y 5 y

fue clasificado como Alto. Sin embargo, esto no quiere decir

que necesariamente sea Alto, pues por ejemplo podría ser

que existan muchas personas Medianas lo cual aumentaría la

probabilidad de ser Mediano.

• Lo que se hace en estos caso es calcular P(Pequeño|t),

P(Mediano|t) y P(Alto|t) para determinar cuál es mayor.

11

Universidad NacionalEIA411 - Minería de Datos

Ejemplo de Clasificación Bayesiana

343ABCAñE|�6 = 34�|3ABCA ñE6∙343ABCA ñE 6

34�|3ABCA ñE6∙343ABCA ñE6+34�|FAG�HE 6∙34FAG�HE 6+34�|1I�E 6∙341I�E 6.

Tenemos que:

343ABCAñE6 =4

15, 34FAG�HE6 =

815

K 341I�E6 =3

15

Como t = (Adam, M, 5, ?), este es un evento que corresponde realmente a dos eventos

independientes, ser M=Masculino y ser de Altura=5. Así:

34�|3ABCAñE6 = 34FHLMCI�E|3ABCAñE6 ∙ 3N41I�COH = 56P3ABCAñEQ =14

∙04

= 0.

34�|FAG�HE6 = 34FHLMCI�E|FAG�HE6 ∙ 3N41I�COH = 56PFAG�HEQ =28

∙18

=1

32.

34�|1I�E6 = 34FHLMCI�E|1I�E6 ∙ 3N41I�COH = 56P1I�EQ =33

∙13

=13

.

Universidad NacionalEIA411 - Minería de Datos

Ejemplo de Clasificación Bayesiana

Entonces:

343ABCAñE|�6

=34�|3ABCAñE6 ∙ 343ABCAñE6

34�|3ABCAñE6 ∙ 343ABCAñE6 + 34�|FAG�HE6 ∙ 34FAG�HE6 + 34�|1I�E6 ∙ 341I�E6

=0 ∙ 4

15

0 ∙ 415 + 1

32 ∙ 815 + 1

3 ∙ 315

= 0

34FAG�HE|�6

=34�|FAG�HE6 ∙ 34FAG�HE6

34�|3ABCAñE6 ∙ 343ABCAñE6 + 34�|FAG�HE6 ∙ 34FAG�HE6 + 34�|1I�E6 ∙ 341I�E6

=

132 ∙ 8

15

0 ∙ 415 + 1

32 ∙ 815 + 1

3 ∙ 315

= 0,2

12

Universidad NacionalEIA411 - Minería de Datos

Ejemplo de Clasificación Bayesiana

341I�E|�6

=34�|1I�E6 ∙ 341I�E6

34�|3ABCAñE6 ∙ 343ABCAñE6 + 34�|FAG�HE6 ∙ 34FAG�HE6 + 34�|1I�E6 ∙ 341I�E6

=

13 ∙ 3

15

0 ∙ 415 + 1

32 ∙ 815 + 1

3 ∙ 315

= 0,806

Por lo tanto Adam tiene mayor probabilidad de ser alto.

Universidad NacionalEIA411 - Minería de Datos

Ejemplo: Créditos en un Banco

Dada esta de Aprendizaje predecir para los siguientes individuos si van a ser buenos o malos pagadores.

13

Universidad NacionalEIA411 - Minería de Datos

Ejemplo: Créditos en un BancoNuevos Individuos

• Se tiene una nueva fila de la base de datos t = (100,2,4,2,2,3,?).

• El problema es: a partir de la tabla de aprendizaje y usando

Clasificación Bayesiana predecir si el individuo #100

corresponde a un buen pagador o a un mal pagador.

• Lo que se hace en estos caso es calcular P(Bueno|t) y P(Malo|t)

para determinar cuál es mayor, en donde por bueno se

entiende que la variable BuenPagador=1 y por malo que

BuenPagador=2.

• Hay que hacer los mismo con el #101 y el #102 TAREA.

Universidad NacionalEIA411 - Minería de Datos

Ejemplo de Clasificación Bayesiana

345CAE|�6 =34�|5CAE6 ∙ 345CAE6

34�|5CAE6 ∙ 345CAE6 + 34�|FHIE6 ∙ 34FHIE6

345CAE6 =6

10 K 34FHIE6 =

410

Como t = (100,2,4,2,2,3,?), este es un evento que corresponde realmente a 5 eventos

independientes, ser MontoCredito=2, IngresoNeto=4, CoeficienteCreditoAvaluo=2,

MontoCuota=2 y GradoAcademico=3. Así:

34�|5CAE6= 344MontoCredito = 26|5CAE6 ∙ 3N4IngresoNeto = 46P5CAEQ

∙ 3N4CoeficienteCreditoAvaluo = 26P5CAEQ ∙ 344MontoCuota = 2 6|5CAE6

∙ 344GradoAcademico = 36|5CAE6 =26

∙46

∙26

∙16

∙16

=16

7776= 0,002.

14

Universidad NacionalEIA411 - Minería de Datos

Ejemplo de Clasificación Bayesiana

34�|FHIE6= 344MontoCredito = 26|FHIE6 ∙ 3N4IngresoNeto = 46PFHIEQ

∙ 3N4CoeficienteCreditoAvaluo = 26PFHIEQ ∙ 344MontoCuota = 2 6|FHIE6

∙ 344GradoAcademico = 36|FHIE6 =04

∙04

∙04

∙04

∙04

= 0.

345CAE|�6 =34�|5CAE6 ∙ 345CAE6

34�|5CAE6 ∙ 345CAE6 + 34�|FHIE6 ∙ 34FHIE6=

167776 ∙ 6

1016

7776 ∙ 610 + 0 ∙ 4

10

= 1

Por lo que 34FHIE|�6 = 0. Pero lo vamos a verificar:

34FHIE|�6 =34�|FHIE6 ∙ 34FHIE6

34�|5CAE6 ∙ 345CAE6 + 34�|FHIE6 ∙ 34FHIE6=

0 ∙ 410

167776 ∙ 6

10 + 0 ∙ 410

= 0.

Por lo que claramente el individuo #100 tiene una probabilidad máxima de ser un buen pagador.

Universidad NacionalEIA411 - Minería de Datos

Naïve Bayes SQL2005 Analysis Service

• Cree o importe en SQL Server Management Studio una tabla de aprendizaje:

EPB 603 Sistemas del Conocimiento

15

Universidad NacionalEIA411 - Minería de Datos

Naïve Bayes SQL2005 Analysis Service

• Cree o importe en SQL Server Management Studio una tabla de testing o predicción:

EPB 603 Sistemas del Conocimiento

Universidad NacionalEIA411 - Minería de Datos

Naïve Bayes SQL2005 Analysis Service

• Cree en SQL Analysis Service un nuevo proyecto con estas dos tablas:

EPB 603 Sistemas del Conocimiento

16

Universidad NacionalEIA411 - Minería de Datos

Naïve Bayes SQL2005 Analysis Service

• Use el algortimo Microsoft Naïve Bayes y selecciones como Case Table (tabla de individuos) la tabla de aprendizaje:

Universidad NacionalEIA411 - Minería de Datos

Naïve Bayes SQL2005 Analysis Service

• Selecciones la variable a predecir o dependiente (predict) y las variables de aprendizaje o independientes (input), para esto último puede usar el botón “Suggest”.

17

Universidad NacionalEIA411 - Minería de Datos

Naïve Bayes SQL2005 Analysis Service

• La variable a predecir debe ser discreta (o sea varchar en SQL) y las variables de aprendizaje deben ser discretizadas (o sea int en SQL).

Universidad NacionalEIA411 - Minería de Datos

Naïve Bayes SQL2005 Analysis Service

• El SQL Analysis Service tiene 4 diferentes gráficos que ayudan a interpretar las clases existentes en la tabla de aprendizaje.

18

Universidad NacionalEIA411 - Minería de Datos

Naïve Bayes SQL2005 Analysis Service

• Para predecir en el Tab Mining Model Prediction seleccione el modelo de minería (Mining Model) y la tabla de entrada (Input Table). Esta es la tabla de testing o de predicción.

Universidad NacionalEIA411 - Minería de Datos

Naïve Bayes SQL2005 Analysis Service

• En el Tab SQL construya un query DMX para hacer la predicción, usando Design, Query y Result

19

Universidad NacionalEIA411 - Minería de Datos

Naïve Bayes SQL2005 Analysis Service

• Para construir el Query visualmente en Souce seleccione el modelo (nombre que le dio al modelo), el Field seleccione la variable a predecir y en Alias el nombre con se desplegará la predicción.

Universidad NacionalEIA411 - Minería de Datos

Naïve Bayes SQL2005 Analysis Service

• Finalmente en el Tab SQL seleccione Query si quiere editar la consulta DMX y Result para ver los resultados.

20

Universidad NacionalEIA411 - Minería de Datos

Naïve Bayes SQL2005 Analysis Service

• Finalmente se desplegan las predicciones para cada uno de los individuos (cases) en la tabla de predicción.

Universidad NacionalEIA411 - Minería de Datos

Ejemplo Datos Reales BancaEj. William en Effiscores William

21

Universidad NacionalEIA411 - Minería de Datos

Gracias….

EPB 603 Sistemas del Conocimiento