18 CAPÍTULO 2. CLASIFICACIÓNEl segundo defecto es menos cuantificable. Parece que este criterio no genera divisionesbeneficiosas para el proceso global de construcción del árbol [Breiman et al., 1984]. Enel algoritmo CART [Breiman et al., 1984] se elige una función local de coste i(t) queselecciona para cada nodo t la pregunta que maximiza la variación de la impureza del nodopara todas las divisiones posibles del conjunto de datos pertenecientes a U(t). La variaciónde la impureza, ∆i(t), se define como∆i(t) = i(t) − (i(t L )p L + i(t R )p R ) ,donde p R y p L son la proporción de ejemplos de contenidos en U(t) que, después de ladivisión, caen en los nodos hijos t R y t L respectivamente, esto esp L = p(t L)p(t) , p R = p(t R) N(t), p(t) =p(t) N .La función de impureza i(t) se define en función de las probabilidades p(j|t) de cadaclase dentro de la región definida por el nodo ti(t) = i(p(1|t), . . . , p(C|t)) . (2.9)En [Breiman et al., 1984] se establecen una serie de propiedades que debe cumplir lafunción de impureza definida en la ec. (2.9). Estas son:1. Debe ser máxima sólo en el punto (1/C, 1/C, . . . , 1/C). Es decir, la impureza de unnodo es máxima si la distribución de ejemplos de cada clase es uniforme.2. Debe alcanzar mínimos únicamente en los puntos: (1, 0, . . . , 0), (0, 1, . . . , 0), . . . y(0, 0, . . . , 1). Esto indica que la impureza de un nodo es mínima si sólo existen datosde una clase (nodo puro).3. Suponiendo que todas las clases son equivalentes, debe ser una función simétrica enp(1|t), p(2|t), . . . y p(C|t).Una función de impureza i(t) que cumpla estos criterios tiene la propiedad que ∆i(t) ≥0 para todo t y toda posible división del espacio [Breiman et al., 1984]. Esto es, la impurezanunca se incrementa cuando se hace crecer el árbol independientemente de cómo seelijan las divisiones. En cualquier caso se buscarán divisiones del espacio de atributos queconduzcan a la mayor homogeneidad de clases posible dentro de los nodos hijos. Se buscapor tanto maximizar ∆i(t) con respecto a las divisiones posibles del espacio, S. Esto esmáx∆i(s, t) = máx [i(t) − (i(t L)p L + i(t R )p R )] . (2.10)s∈S s∈S
2.2. ÁRBOLES DE DECISIÓN: CART Y C4.5 19La búsqueda del test óptimo para atributos continuos usando divisiones ortogonales alos ejes puede parecer costosa computacionalmente ya que el umbral puede tomar cualquiervalor del rango de los reales. Sin embargo, sólo existe un número finito de divisiones queconduzcan a particiones de los datos de entrenamiento distintas. Consideremos un atributoordinal x m . Dado que estamos trabajando con un número N finito de datos de entrenamiento,este atributo tiene como máximo N valores distintos, que ordenados y eliminando losvalores repetidos, los podemos denotar por {v 1 , v 2 , . . . , v n } con n ≤ N y con v i < v i+1 .Para cualquier umbral de corte c elegido entre dos valores contiguos v i y v i+1 se obtienela misma variación de impureza (ec. (2.10)), ya que se divide el conjunto {v 1 , v 2 , . . . , v n }en los mismos sub<strong>conjuntos</strong> {v 1 , v 2 , . . . , v i } y {v i+1 , v i+2 , . . . , v n }. Por tanto, el número dedivisiones a comprobar para cada atributo ordinal usando divisiones ortogonales a los ejeses n − 1 (cuyo valor máximo es N − 1). El umbral elegido por CART una vez seleccionadala división es el punto medio ((v i + v i+1 )/2). En C4.5 se toma el umbral con valor v i con elfin de que los umbrales del árbol sean valores que aparecen en el conjunto de entrenamiento.La complejidad computacional de este enfoque para calcular la división óptima aumentaa medida que se incrementa el número de ejemplos N. Cuando el número de ejemplos Nsupera un umbral prefijado N 0 para algún nodo interno de árbol, el algoritmo CART aplicasubmuestreos de los datos originales. Este submuestreo genera un nuevo conjunto de datosde tamaño N 0 con aproximadamente la misma distribución de clases que el conjunto de tamañoN. Sobre este nuevo conjunto se calcula el umbral de la división que posteriormentese aplica a todos los ejemplos para continuar con el proceso de construcción del árbol.El análisis de las posibles divisiones para los atributos categóricos es más complejo,ya que el número de posibles sub<strong>conjuntos</strong> no triviales para un atributo con S posiblesvalores es como mínimo de 2 S−1 − 1. Esto hace inviable la evaluación de todas las posiblesdivisiones a partir de valores de S no muy grandes. Breiman et al. demuestran que paraproblemas de clasificación de dos clases la búsqueda se puede realizar con un algoritmocuya complejidad es de orden S [Breiman et al., 1984]. En caso contrario, CART, hacebúsqueda exhaustiva. En C4.5 se utiliza una heurística para determinar estos sub<strong>conjuntos</strong>.La función de impureza, i(t), que se elige en CART es el criterio de Gini. Este criteriocumple las propiedades previamente expuestas y viene definida pori(t) = ∑ i≠jp(i|t)p(j|t) , (2.11)donde los índices i y j del sumatorio son etiquetas de clase. El algoritmo C4.5 utiliza uncriterio basado en la teoría de la información con i(t) = − ∑ Yj=1 p(j|t) log 2(p(j|t)) (gaincriterion). Como alternativa, Quinlan presenta una variante de la ec. (2.10) normalizada porla información que contiene cada división (gain ratio criterion) que evita que en problemascon atributos multivaluados se obtengan divisiones en los nodos internos del árbol conmuchos nodos hijos. Se ha visto que los distintos criterios para la selección de las divisiones