Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Arbol de Decision IA, Ejercicios de Inteligencia Artificial

Arbol de Decision IA. Mostrar pasos para obtener la información y el gain ratio para elegir cada nivel del árbol.

Tipo: Ejercicios

2025/2026

Subido el 04/05/2026

twitch-angel
twitch-angel 🇲🇽

3 documentos

1 / 6

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Inducción de Árboles de Decisión:
El Problema de Espera en Restaurante
Inteligencia Artificial — Tarea 12
Abstract
Se construye un árbol de decisión mediante el algoritmo ID3 extendido con el criterio de GainRatio para
controlar el sesgo hacia atributos con muchos valores. El conjunto de entrenamiento consta de 12 ejemplos
que describen si un comensal esperaría para ser atendido en un restaurante, caracterizados por 10 atributos.
El árbol resultante alcanza clasificación perfecta sobre el conjunto de entrenamiento empleando
únicamente 4 de los 10 atributos disponibles, con una profundidad máxima de 4 niveles.
1. Datos de Entrenamiento
La Tabla 1 presenta los 12 ejemplos utilizados para inducir el árbol. Cada instancia describe una visita al
restaurante a través de diez atributos binarios, categóricos y ordinales. La variable objetivo WillWait indica si el
comensal decidió esperar. El conjunto está perfectamente balanceado: seis ejemplos positivos (x1, x3, x4, x6, x8,
x12) y seis negativos (x2, x5, x7, x9, x10, x11).
Alt Bar Fri Hun Pat Price Rain Res Type Est WillWait
x1 Y N N Y Some $$$ N Y French 0-10 Yes
x2 Y N N Y Full $ N N Thai 30-60 No
x3 N Y N N Some $ N N Burger 0-10 Yes
x4 Y N Y Y Full $ Y N Thai 10-30 Yes
x5 Y N Y N Full $$$ N Y French >60 No
x6 N Y N Y Some $$ Y Y Italian 0-10 Yes
x7 N Y N N None $ Y N Burger 0-10 No
x8 N N N Y Some $$ Y Y Thai 0-10 Yes
x9 N Y Y N Full $ Y N Burger >60 No
x10 Y Y Y Y Full $$$ N Y Italian 10-30 No
x11 N N N N None $ N N Thai 0-10 No
x12 Y Y Y Y Full $ N N Burger 30-60 Yes
Tabla 1. Conjunto de entrenamiento para el problema de espera en restaurante.
2. Criterios de Selección de Atributos
El algoritmo ID3 selecciona en cada nodo el atributo que maximiza la ganancia de información (Gain). Para
mitigar el sesgo hacia atributos con alta cardinalidad, se emplea adicionalmente el GainRatio, que normaliza la
ganancia por la información de la partición (SplitInfo). Las tres métricas se definen como sigue.
H(S) = -sum_v p(v) * log2 p(v)
Gain(A) = H(S) - sum_v |S_v|/|S| * H(S_v)
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Arbol de Decision IA y más Ejercicios en PDF de Inteligencia Artificial solo en Docsity!

Inducción de Árboles de Decisión:

El Problema de Espera en Restaurante

Inteligencia Artificial — Tarea 12

Abstract Se construye un árbol de decisión mediante el algoritmo ID3 extendido con el criterio de GainRatio para controlar el sesgo hacia atributos con muchos valores. El conjunto de entrenamiento consta de 12 ejemplos que describen si un comensal esperaría para ser atendido en un restaurante, caracterizados por 10 atributos. El árbol resultante alcanza clasificación perfecta sobre el conjunto de entrenamiento empleando únicamente 4 de los 10 atributos disponibles, con una profundidad máxima de 4 niveles.

1. Datos de Entrenamiento

La Tabla 1 presenta los 12 ejemplos utilizados para inducir el árbol. Cada instancia describe una visita al

restaurante a través de diez atributos binarios, categóricos y ordinales. La variable objetivo WillWait indica si el

comensal decidió esperar. El conjunto está perfectamente balanceado: seis ejemplos positivos (x 1 , x 3 , x 4 , x 6 , x 8 ,

x 12 ) y seis negativos (x 2 , x 5 , x 7 , x 9 , x 10 , x 11 ).

Alt Bar Fri Hun Pat Price Rain Res Type Est WillWait x1 Y N N Y Some $$$ N Y French 0-10 Yes x2 Y N N Y Full $ N N Thai 30-60 No x3 N Y N N Some $ N N Burger 0-10 Yes x4 Y N Y Y Full $ Y N Thai 10-30 Yes x5 Y N Y N Full $$$ N Y French >60 No x6 N Y N Y Some $$ Y Y Italian 0-10 Yes x7 N Y N N None $ Y N Burger 0-10 No x8 N N N Y Some $$ Y Y Thai 0-10 Yes x9 N Y Y N Full $ Y N Burger >60 No x10 Y Y Y Y Full $$$ N Y Italian 10-30 No x11 N N N N None $ N N Thai 0-10 No x12 Y Y Y Y Full $ N N Burger 30-60 Yes Tabla 1. Conjunto de entrenamiento para el problema de espera en restaurante.

2. Criterios de Selección de Atributos

El algoritmo ID3 selecciona en cada nodo el atributo que maximiza la ganancia de información (Gain). Para

mitigar el sesgo hacia atributos con alta cardinalidad, se emplea adicionalmente el GainRatio , que normaliza la

ganancia por la información de la partición (SplitInfo). Las tres métricas se definen como sigue.

H(S) = -sum_v p(v) * log2 p(v) Gain(A) = H(S) - sum_v |S_v|/|S| * H(S_v)

SplitInfo(A) = -sum_v |S_v|/|S| * log2(|S_v|/|S|) GainRatio(A) = Gain(A) / SplitInfo(A)

donde S es el conjunto de ejemplos en el nodo actual, A es el atributo evaluado, y Sv es el subconjunto de

ejemplos con valor v para el atributo A.

3. Construcción del Árbol

3.1 Entropía inicial y selección de la raíz

La entropía del nodo raíz sobre las 12 instancias es máxima, dado el balance perfecto entre clases positivas y

negativas:

H(S) = -(6/12)log2(6/12) - (6/12)log2(6/12) = 1.0 bit

La Tabla 2 muestra las métricas calculadas para los diez atributos. El atributo Pat (número de clientes en espera)

obtiene el mayor Gain (0.541) y el mayor GainRatio (0.371), por lo que se elige como raíz del árbol.

Atributo Particiones H pond. Gain SplitInfo GainRatio Alt Yes(3Y,3N) · No(3Y,3N) 1.000 0.000 1.000 0. Bar Yes(3Y,3N) · No(3Y,3N) 1.000 0.000 1.000 0. Fri Yes(2Y,3N) · No(4Y,3N) 0.979 0.021 0.980 0. Hun Yes(5Y,2N) · No(1Y,4N) 0.804 0.196 0.980 0. Pat None(0Y,2N)·Some(4Y,0N)·Full(2Y,4N) 0.459 0.541 1.459 0. Price $(3Y,4N) · $$(2Y,0N) · $$$(1Y,2N) 0.804 0.196 1.385 0. Rain Yes(3Y,2N) · No(3Y,4N) 0.979 0.021 0.980 0. Res Yes(3Y,2N) · No(3Y,4N) 0.979 0.021 0.980 0. Type Fre(1Y,1N)·Thai(2Y,2N)·Burg(2Y,2N)·Ital(1Y,1N) 1.000 0.000 1.919 0. Est 0-10(4Y,2N)·10-30(1Y,1N)·30-60(1Y,1N)·>60(0Y,2N)0.793 0.207 1.793 0. Tabla 2. Métricas de selección para el nodo raíz (12 ej., H = 1.0 bit). La fila sombreada indica el atributo seleccionado.

El cálculo detallado para Pat ilustra el procedimiento. La partición None (2 ej.) y Some (4 ej.) producen

subconjuntos puros con entropía cero; la partición Full (6 ej.) contiene mezcla:

H(Full) = -(2/6)log2(2/6) - (4/6)log2(4/6) = 0. Gain(Pat) = 1.0 - (2/12)0 - (4/12)0 - (6/12)0.918 = 0. SplitInfo(Pat) = -(2/12)log2(2/12) - (4/12)log2(4/12) - (6/12)log2(6/12) =

GainRatio(Pat) = 0.541 / 1.459 = 0.

Las ramas Pat = None y Pat = Some generan nodos hoja de forma inmediata al ser subconjuntos puros. Solo la

rama Pat = Full (6 instancias: 2Y, 4N) requiere expansión adicional.

3.2 Segundo nivel — rama Pat = Full

El subconjunto {x 2 , x 4 , x 5 , x 9 , x 10 , x 12 } tiene entropía H = 0.918 bits. La Tabla 3 muestra las métricas para los

atributos restantes. Cinco atributos (Hun, Price, Res, Type, Est) empatan en Gain = 0.251; el GainRatio

desempata en favor de Hun , Price y Res con 0.273. Por convención se elige Hun (hambre del comensal).

Las ramas Italian ({x 10 }: No) y Burger ({x 12 }: Yes) son nodos hoja inmediatos. Solo Thai ({x 2 : No, x 4 : Yes})

permanece ambigua.

3.4 Cuarto nivel — rama Type = Thai

El subconjunto Thai contiene exactamente dos instancias con clase opuesta (H = 1.0 bit). Tres atributos alcanzan

Gain máximo de 1.0, separando perfectamente las clases:

Atributo Partición Gain GainRatio Fri No (x2 = No) · Yes (x4 = Yes) 1.000 1. Rain No (x2 = No) · Yes (x4 = Yes) 1.000 1. Est 30-60 (x2 = No) · 10-30 (x4 = Yes) 1.000 1. Tabla 5. Métricas para Type = Thai (2 ej., H = 1.0 bit). Los tres atributos alcanzan Gain = GainRatio = 1.0.

Se selecciona Fri (si es viernes) por orden de aparición en la lista de atributos. Fri = No produce el nodo hoja No

(x 2 ); Fri = Yes produce el nodo hoja Yes (x 4 ). El árbol queda completamente especificado.

4. Árbol de Decisión Final

La Figura 1 muestra el árbol inducido. Los nodos internos (bordes continuos) representan pruebas sobre atributos;

las hojas con fondo gris indican clase Yes y las hojas con borde discontinuo indican clase No. El árbol clasifica

correctamente las 12 instancias de entrenamiento.

Figura 1. Árbol de decisión final para el problema de espera en restaurante.

La Tabla 6 resume los atributos elegidos en cada nivel junto con las métricas que justifican la selección. Atributos

como Alt , Bar , Rain y Type obtienen Gain nulo en la raíz y nunca son seleccionados.

Nivel Contexto Atributo Gain GainRatio Ejemplos 1 (Raíz) — Pat 0.541 0.371 12 2 Pat = Full Hun 0.251 0.273 6 3 Pat=Full, Hun=Yes Type 0.500 0.333 4 4 Type = Thai Fri 1.000 1.000 2 Tabla 6. Resumen de atributos seleccionados por nivel.

5. Conclusiones

El algoritmo ID3 con GainRatio construyó un árbol de profundidad 4 que clasifica perfectamente el conjunto de

entrenamiento. El criterio de GainRatio fue determinante en el segundo nivel, donde cinco atributos empataban en

ganancia de información: la normalización por SplitInfo penalizó correctamente a Type y Est , cuya mayor

cardinalidad inflaba artificialmente su Gain. El árbol resultante captura reglas interpretables: un restaurante con