Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Alberto Nogales
alberto.nogales@ufv.es
Curso 2022-2023
Índice
Aplicaciones:
1. Clasificar tipo de tumores según sus características.
2. Anticipar el fraude bancario (tipos de clientes).
3. Categorizar clientes según su comportamiento
(ofertas).
4. Clasificar el tráfico de una zona de la ciudad.
Introducción
Métodos:
1. Modelos basados en reglas.
2. Arboles de decisión.
3. Algoritmo k-nearest-neighbors.
4. Redes bayesianas.
Conjunto de entrenamiento
Edad Salario Riesgo préstamo
Joven Bajo Moroso
Algoritmo
Joven Bajo Moroso
clasificación
Media Alto Seguro
Media Bajo Moroso
Reglas
Reglas de clasificación R1
(Modelo)
R2
R3
Definiciones
Datos nuevos
Juan García Alto
José Sánchez Medio
Definiciones
• Métodos directos:
Extraen las reglas directamente de los datos.
Ej: Sequential covering, RIPPER, etc.
• Métodos indirectos:
Extraen las reglas de otros métodos de clasificación
como los arboles de decisión.
Ej: ID3, C4.5, etc.
Métodos basados en reglas
• Objetivo
• Algoritmo PRISM.
Definición del problema
• Objetivo: dado un conjunto de registros (conjunto de
entrenamiento). Cada registro es un conjunto de
atributos de los cuales uno indica una clase.
Encontrar un modelo para el atributo de clase en
función del resto de atributos. Este modelo será
usado para clasificar nuevos registros.
Edad Estación País
17 Invierno Austria
23 Verano Italia If (Edad>=18) AND (Estación=Verano)
13 Verano Grecia Then
24 Invierno Inglaterra País = Italia
25 Verano Italia
Definiciones
• Registro: representada por un vector de atributos de dimensión n,
X=(x1,x2, … , xn) que describe n medidas A1,A2, … , An
• Reglas exhaustivas:
– Existe una regla por cada combinación de valores en los
atributos.
– Asegura que cada registro es cubierto por al menos una regla.
Clasificación basada en reglas
Método Sequential Covering:
1. Se empieza con la regla vacía
2. Crear una regla usando la función Learn-One-
Rule
3. Eliminar del set de entrenamiento los registros
cubiertos por la regla
4. Repetir el paso 2 y 3 hasta que se cumple el
criterio de parada (no quedan registros)
Clasificación basada en reglas
Learn one rule:
Vista=“Soleado” 2/5
Vista=“Nublado” 4/4
Vista=“Lluvioso” 3/5
• Objetivo
• Definiciones del problema
• Funcionamiento de los arboles de decisión.
• Algoritmo ID3
• Algoritmo C4.5
Definición del problema
• Objetivo: analizar decisiones secuenciales basadas
en el uso de resultados y probabilidades asociadas.
Facilita la toma de mejores decisiones,
especialmente cuando existen riesgos, costes,
beneficios y múltiples opciones. Se obtienen reglas.
Nivel
Normal Físico Alto
True False
Y>4
True False
X>2 X>5
True False True False
Si No Y>3
No
True False
Si No
Definiciones
Solución
Y
No Si
Si
No
No
X
Funcionamiento básico
Ejemplo (clientes gimnasio):
Clase
1
Funcionamiento básico
2) Combinamos el atributo del paso anterior con uno
nuevo, Frec_act1.
Nivel_físico=“Normal” AND Frec_act1=“Media” Cliente Clase
1 0
7 0
Cliente Clase
Nivel_físico=“Alto” AND Frec_act1=“Alta”
5 0
Funcionamiento básico
Para el atributo “Frec_act1”. Como todos los individuos
se han agrupado en clases, todos los nodos que
resultan son de decisión
Nivel
Normal Físico Alto
Fraude
no
Fraude
no Fraude
Arboles de decisión – Criterios división
Depende de
• Tipo de dato:
– Categórico: la condición tiene un valor concreto.
– Ordinal: el orden de los hijos es relevante.
– Continuo: la condición puede ser mayor o menor que.
• Tipo de árbol:
– Binario: a veces obliga a agrupar valores por ramas.
– Varios hijos: puede ocurrir que cada rama tenga un atributo.
Arboles de decisión – Criterios división
División basada en atributos categóricos.
Edad
Joven Mediana
Mayor
Tamaño
Pequeño Grande
Mediano
División binaria: Se emplean dos subconjuntos, no se pueden
agrupar valores que no sean seguidos.
Edad Edad
{Pequeño, {Mediano,
Mediano Pequeño
Grande} Grande}
Arboles de decisión – Criterios división
División basada en atributos continuos.
División múltiple: Discretización para conseguir un atributo ordinal.
– Estático: se discretiza al principio.
– Dinámico: se agrupan mediante rangos usando percentiles o clusters.
Saldo
<10k >50k
[10k,50k]
División binaria: Se emplean operaciones lógicas del tipo <, >= en
el nodo.
– Muchas opciones dependiendo del valor de la condición.
Saldo
>80k
Si No
Arboles de decisión – Definiciones
Proporción: Número de casos de una clase entre el número de
casos de la partición. Ej: Proporción>0,6
Cliente Clase
Normal 1 0 Para la clase 0
3 1
Partición Nivel físico Casos Proporción
7 0
1 Normal {1,3,7} 2/3
Cliente Clase 2 Bajo {2,6} 0
Bajo
2 1 3 Alto {4,5,8} 1/3
6 1
Cliente Clase
Alto 4 1
5 0
8 1
Arboles de decisión – Definiciones
1. CONSTRUIR EL CLASIFICADOR:
• Medidas de desorden: Relacionada con la distribución de
probabilidad que tiene un atributo. Se relaciona con la
homogeneidad.
C1 C2 p(C1/t)=1/6
E(t)= - 1/6 log2(1/6) -5/6 log2(5/6) = 0,65
1 5 p(C2/t)=5/6
C1 C2 p(C1/t)=2/6
E(t)= - 2/6 log2(2/6) -4/6 log2(4/6) = 0,92
2 4 p(C2/t)=4/6
Arboles de decisión – Definiciones
• Efectividad (se calcula para los nodos hijo): Cómo de efectivo
es un atributo t al subdividir un conjunto de ejemplos en n
subconjuntos (uno por cada posible valor de X). Dicho de otra
manera es el valor esperado de la entropía después de efectuar
la partición.
(&
Ef(t)= − ∑'&"# ∗ 𝐸(𝑡)
(
• Ganancia de información: Propiedad estadística que mide cómo
clasifica un atributo t. Mide en que grado un atributo
determinado hace aumentar o disminuir el desorden de las
particiones que puede haber a partir de comparar el desorden
que induce con respecto al existente en un momento
determinado (se elige la mayor).
G(t)=E(t)-Ef(t,X)
Arboles de decisión – Definiciones
2. EVALUACIÓN DEL CLASIFICADOR:
• Error de cada regla: proporción de casos en la que la regla ha
realizado una predicción erronea con respecto al total de casos
que la cubría.
Regla 1, cubre 7 casos y predice mal 3 de ellos
Error=(3/7)=0,42=42%
Horario
Mañana Tarde
Horario
Mañana Tarde
Mediodía
Nivel
Clase 1 Clase 2
físico
Alto Bajo
Normal
Cliente Clase Cliente Clase Cliente Clase
5 1 4 2 7 2
Homogeneas!!!!
Algoritmo ID3
R1 Horario=“Mañana” → Clase 1
R2 Horario=“Mediodía” → Clase 2
R3 Horario=“Tarde” AND Nivel_físico=“Alto” → Clase 1
R4 Horario=“Tarde” AND Nivel_físico=“Normal” → Clase 2
R5 Horario=“Tarde” AND Nivel_físico=“Bajo” → Clase 2
Algoritmo ID3
9) Una vez obtenido el modelo. Se pasa a la fase de evaluación.
Hay que contraponer el valor predicho con el valor real:
Cliente Horario Sexo Nivel físico Clase Clase asignada Regla
101 Mañana Hombre Alto 1 1 R1
324 Mañana Hombre Bajo 2 1 R1
5344 Mediodía Hombre Bajo 2 2 R2
23 Mañana Mujer Bajo 1 1 R1
28 Mañana Hombre Normal 2 1 R1
29 Mañana Mujer Bajo 1 1 R1
333 Mediodía Mujer Bajo 2 2 R2
442 Mañana Mujer Normal 2 1 R1
32 Mediodía Hombre Bajo 2 2 R2
112 Mediodía Hombre Normal 1 2 R2
Algoritmo ID3
!
$ ^2
GINI(t)= 1 − ∑!"# %
!
Error(t)= 1 − 𝑚𝑎𝑥 %
Otros criterios de división
Ejemplo (GINI):
! 2
$
GINI(t)= 1 − ∑!"# %
C1 C2 p(C1/t)=0/6
GINI(t)= 1 - (0/6)2 -(6/6)2 = 0
0 6 p(C2/t)=6/6
C1 C2 p(C1/t)=1/6
GINI(t)= 1- (1/6)2 -(5/6)2 = 0,278
1 5 p(C2/t)=5/6
C1 C2 p(C1/t)=2/6
GINI(t)=1 -(2/6)2 -(4/6)2 = 0,444
2 4 p(C2/t)=4/6
Otros criterios de división
Ejemplo (Error de clasificación):
!
Error(t)= 1 − 𝑚𝑎𝑥 %
C1 C2 p(C1/t)=0/6
Error(t)= 1 - max(0,1)= 0
0 6 p(C2/t)=6/6
C1 C2 p(C1/t)=1/6
Error(t)= 1 - max(1/6,5/6)= 1-5/6 = 1/6
1 5 p(C2/t)=5/6
C1 C2 p(C1/t)=2/6
Error(t)=1 - max(2/6,4/6)=1-4/6 = 2/6
2 4 p(C2/t)=4/6
Árboles de decisión con error de clasific.
Ejemplo (clientes gimnasio aplicando CART):
B B
B B
Clase 1 C C
Clase 2 Clase 1 C
Clase 2
Mismas condiciones en B y C.
Métodos de poda
Operación de sustitución.
(3) A (4)
A
B B
Clase 1 B
Clase 1 C
Clase 2 C
Clase 2
Clase 2 Clase 1
Clase 2 Clase 1
Operación de sustitución.
Métodos de poda
A
Operación de promoción. (Algoritmo C4.5)
Clase 1 B
C Error=0,46
Clase 2 Cómo Error<Error(combinado)
SE PODA
• Objetivo
• Definiciones del problema
• Funcionamiento del algoritmo
Definición del problema
• Objetivo: clasificar nuevos individuos con respecto a
su distancia en un espacio en el que se ha distribuido
un conjunto de entrenamiento teniendo en cuenta los
atributos.
Dependiendo de la distancia de X al
resto de elementos K, estos serán
más parecidos o no (mayor o menor
distancia). Se clasifica la clase en
relación a los k vecinos más
cercanos.
Definiciones
Idea general:
1. Para un nuevo individuo. Se incluye en el espacio donde
esté el conjunto de entrenamiento.
2. Se calcula la distancia del individuo nuevo con el resto de
conjunto de entrenamiento.
3. Identifica los k más próximos.
4. Usa las clases de esos k vecinos para determinar la clase
(por ejemplo la que más ocurra)
Hay que definir la métrica para medir la distancia, el k que se
va a usar y el criterio para determinar la clase que se le
asigna.
Definiciones
Métricas para la distancia (para valores continuos):
– Distancia Euclídea: la distancia “ordinaria” entre dos puntos de un
espacio euclídeo.
Iteración 1
Iteración 2
Calcular el error
medio
Iteración n
Repetir desde k=1 hasta m
Definiciones
Con Euclídea entonces k=4. Con Manhattan k=5 por agrupar más individuos.
Error=(Número de registros mal clasificados/Número de registros evaluados)
D(X1,X)=0,22 → Setosa
Clase x1 x2
1 0.3 0.6
1 0.2 0.8
2 0.5 0.5
1 0.2 0.6
2 0.7 0.8
1 0.3 0.9
2 0.7 0.5
K-nearest-neighbors
Algoritmo k-weighted-nearest-neighbors:
Cercano a
Cercano a otra clase
otra clase
Clasificadores Bayesianos
• Objetivo
• Definiciones del problema
• Teorema de Bayes
• Clasificadores Bayesianos
Definiciones
Velocidad Distancia
media
Alquiler
Duración
Velocidad Distancia
media
Alquiler
Duración
Tipo de
vehículo
Velocidad
Alquiler
media
P(H|E)=P(E|H)P(H)/P(E)
P(M|R)=P(R|M)*P(M)/P(R)=0,5*(1/50.000)/(1/20)=0,0002
Clasificación basada en redes bayesianas
Edad
Astigmatismo
Ninguna Blandas Duras
Sí 8 0 4
No 7 5 0
Lágrimas
Ninguna Blandas Duras
Normal 3 5 4
Reducida 12 0 0
Clasificación basada en redes bayesianas
Edad
Ninguna Blandas Duras
Joven 4/15 2/5 2/4
Prepresbicia 5/15 2/5 1/4
Presbicia 6/15 1/5 1/4
Diagnóstico
Ninguna Blandas Duras
Miope 7/15 2/5 3/4
Hipermétrope 8/15 3/5 1/4
Astigmatismo
Ninguna Blandas Duras
Sí 8/15 0/5 4/4
No 7/15 5/5 0/4
Lágrima
Ninguna Blandas Duras
Normal 3/15 5/5 4/4
Reducida 12/15 0/5 0/4
Clasificación basada en redes bayesianas
Para un cliente con los siguientes valores en los atributos:
{“Joven”, ”Hipermétrope”, “No astigmatismo”, “Lágrima normal”}
OJO!!! P(E) no es relevante porque todos se dividen por el mismo valor.
P(Blandas|E)=P(Joven|Blandas)*P(Hipermétrope|Blandas)*P(No|Blandas)*P(Normal|Blandas)*P(Blandas)
P(E)
VP(Blandas|E)=(2/5)*(3/5)*(5/5)*(5/5)*(5/24)
VP(Blandas|E)=0,05
P(Ninguna|E)=P(Joven|Ninguna)*P(Hipermétrope|Ninguna)*P(No|Ninguna)*P(Normal|Ninguna)*P(Ninguna)
P(E)
VP(Ninguno|E)=(4/15)*(8/15)*(7/15)*(3/15)*(15/24)
VP(Ninguno|E)=0,00829
P(Duras|E)=0
VP NO SON PROBABILIDADES (para serlo habría que haber dividido
entre P(E). Sí son valores que me valen para clasificar, eligiendo el mayor.
Clasificación basada en redes bayesianas
P(Blandas)*P(Joven|Blandas)*P(Hipermétrope|Blandas)*P(No|Blandas)*P(Normal|Blandas) +
P(Ninguna)*P(Joven|Ninguna)*P(Hipermétrope|Ninguna)*P(No|Ninguna)*P(Normal|Ninguna) +
P(Duras)*P(Joven|Duras)*P(Hipermétrope|Duras)*P(No|Duras)*P(Normal|Duras)
0,05829 —> 1
En el caso de P(Ninguno|E)=0,1422 0.05 —> X
X = 0.05/0.05829 = 0.85778
• Objetivo
• Definiciones del problema
• Suport Vector Machines
Definición del problema
• Objetivo: buscar un hiperplano que separe un
conjunto de datos en distintas clases.
1D 2D 3D
Definiciones
• Conjuntos linealmente separables: si existe una función lineal
que los separa.
- No lineales:
Los datos son separables pero tienen un número de características
grande y necesitan un espacio multidimensional para su
representación. Se aplicará el denominado “kernel”.
Definiciones
En un espacio determinado puede haber muchos hiperplanos que
separen bien las clases. El problema es que algunos de ellos no
lo harán de forma óptima
Clase 1
Definiciones
• Support Vectors: son los puntos que están cerca del hiperplano.
Son aquellos que son más difíciles de clasificar. Tienen relación
directa con la posición óptima del hiperplano.
Clase 1
Clase 2
Support
Vectors
Hiperplano
Definiciones
• El hiperplano viene representado por w*x+b siendo w
perpendicular a este (índica el angulo) y b la posición que
ocupa el plano en el eje Y.
Clase 2
Ejemplo binario.
El objetivo es maximizar el valor del margen M con
respecto a w y b.
Se cumple que para cada clase:
– Para la clase -1. w*x + b <= -1 (Hiperplano negativo)
– Para la clase 1. w*x + b >= 1 (Hiperplano positivo)
– IMPOSIBLE!!!! -1 < w*x + b < 1
Margen
Hiperplano Hiperplano
positivo negativo
Support Vector Machine
X+ es un punto en el hiperplano positivo (el de la clase +1)
X- es el punto más cercano a X+ en el hiperplano negativo (el de la
clase -1)
w*x+ + b = 1
w*x- + b = -1
X+
Margen
Hiperplano
positivo
Hiperplano
negativo
X-
Support Vector Machine
Entonces X+ = X- + ʎ*w siendo ʎ un valor determinado. Es decir la
distancia que hay que recorrer en la dirección de w.
Por lo tanto |X+ - X-| = M
X+
Margen
Hiperplano
positivo Hiperplano
negativo
X-
Support Vector Machine
Teniendo:
1. w*x+ + b = 1
2. w*x- + b = -1
3. X+ = X- + ʎ*w
4. |X+ - X-| = M
Con 1, 2 y 3:
w*(X- + ʎ*w) + b = 1
w*X- + b + ʎ*w2 = 1
w*X- + (-1 -w*X- ) + ʎ*w2 = 1
ʎ = 2/(w2)
Support Vector Machine
Teniendo:
1. w*x+ + b = 1
2. w*x- + b = -1
3. X+ = X- + ʎ*w
4. |X+ - X-| = M
5. ʎ = 2/(w2)
Con 3, 4 y 5:
M = |X+ - X-| = |ʎ*w| = ʎ*|w| = 2*|w|/(w2)== 2*|w|/|w2| = 2/|w|
Maximizar M=2
|w|
Support Vector Machine
Caso no separable (soft margin):
Clase 1
Hiperplano
Clase 2
Clase 1
Φ: x → φ(x)