Python machine learning (6) árbol de decisiones (on) árbol de construcción, clasificación y medición de la entropía de la información, ganancia de información, algoritmo CART, poda

algoritmo de árbol de decisión

Simule el proceso de una cita a ciegas. A través del mapa de toma de decisiones de citas a ciegas, cuando un hombre va a una cita a ciegas, primero elegirá el género como mujer y luego aprenderá sobre la otra parte en función de información como la edad, apariencia, ingresos y ocupación.
A través del diagrama de toma de decisiones, podemos encontrar que nos enfrentamos a varias opciones en la vida. Con base en nuestra experiencia y nuestras propias necesidades, podemos filtrar la lógica detrás del juicio en un diagrama estructural, y encontraremos un árbol en forma de estructura, que es el llamado Árbol.
Cuando tomamos decisiones, pasamos por dos etapas: construcción y poda.

arbol de construccion

La construcción es generar un árbol de decisión completo. En términos simples, el proceso de construcción es el proceso de seleccionar qué atributos se utilizarán como nodos. Luego, en el proceso de construcción, habrá tres tipos de nodos:

  • Nodo raíz: la posición está en la parte superior del árbol, lo que puede maximizar la división de categorías y ayudarnos a filtrar datos.
  • Nodo interno: un nodo ubicado en el medio del árbol, también un nodo secundario.
  • Nodo hoja: el resultado de la decisión de cada nodo, no hay nodos secundarios.

Entonces, en el proceso de construcción del árbol, tenemos que resolver tres problemas importantes:

  • Qué atributo elegir como nodo raíz
  • Qué atributos se seleccionan como nodos internos (nodos secundarios)
  • Cuándo detenerse y obtener el estado objetivo (nodo hoja)

Diferentes selecciones del nodo raíz darán lugar a diferencias en la selección del árbol.
Pregunta: ¿Cómo usamos un programa para seleccionar el nodo raíz?
Objetivo: Usar una medida para calcular la clasificación de las ramas seleccionadas a través de diferentes funciones, encontrar la mejor como nodo raíz, etc.
El nodo raíz se puede usar para dividir mejor los datos y los nodos internos se usan para subdividir mejor los datos.

Entropía de la información (Entropía)

La entropía de la información es una medida de la incertidumbre de una variable aleatoria. La entropía es un punto de conocimiento en física, que indica el grado de caos dentro de un objeto.Por ejemplo, hay muchos tipos de barras de labios, lo que significa que la probabilidad de comprar fácilmente una barra de labios completamente satisfactoria en un centro comercial es muy baja. la certeza, mayor es la entropía.Por ejemplo, si desea comprar un teléfono móvil Huawei, puede comprarlo en una tienda Huawei.A mayor certeza, menor es la entropía.

La relación entre entropía y clasificación.

inserte la descripción de la imagen aquí
La figura 1 es más caótica después de la clasificación. Cuanto mayor es el grado de confusión, mayor es la incertidumbre y mayor es el valor de la entropía. Después de la clasificación de la figura 2, los datos son relativamente puros, y la clasificación es clara y regular, y el el valor de la entropía es menor.
Si utiliza un programa para lograrlo, debe cuantificar los indicadores.

Medida de la entropía de la información

Unidad: 1 bit
Una moneda tiene dos caras. La probabilidad de lanzar una moneda es del 50 % y la probabilidad de una prueba también es del 50 %. Este es el problema de clasificación binaria más simple. La incertidumbre de lanzar una moneda se registra como 1 bit. número de lanzamientos de moneda está exponencialmente relacionado con el resultado incierto que presenta.

1枚硬币:不确定性为2,正反
2枚硬币:不确定性为4,全正,全反,一正一反,一反一正
3枚硬币:不确定性为8
n枚硬币:不确定性为2^n

Distribución uniforme con igual probabilidad

4 resultados inciertos = 2 2 2^222 , la entropía es de 2 bits,2 = log 2 4 2=log_242=registro _ _24
8 resultados inciertos =2 3 2^323 , la entropía es de 3 bits,3 = log 2 8 3=log_283=registro _ _28
m resultados inciertos =2 n 2^n2n , la entropía es nbit,n = log 2 mn=log_2mnorte=registro _ _2m
probabilidad es igual,n = log 2 mn=log_2mnorte=registro _ _2m , m es el número de resultados inciertos.

Distribución de probabilidad desigual

inserte la descripción de la imagen aquí
poner DDD se divide en 6 situaciones, y el resultado de incertidumbre es 6, es decir,m = 6 m=6metro=6 ,DDLa entropía de D es:E nt ( D ) = log 2 6 Ent(D)=log_26E n t ( D )=registro _ _26
La situación real puede ser más complicada, como se muestra en la siguiente figura,DDLa incertidumbre de D se divide en A, B, CA, B, CA , B , C tres tipos,AAA tiene tres casos con 1/2 de probabilidad,BBB tiene dos casos con probabilidad 1/3,CCC tiene una probabilidad de 1/6 de un caso. AAAHay tres posibilidades para A , correspondientes a m(A)=3, y la entropía de un solo A eslog 2 3 log_23registro _ _23 ,DDLos datos de D son más puros, y la pureza de los datos en sí se obtiene restando los datos de alta pureza de los datos de baja pureza y luego considerando el problema de probabilidad, multiplicando el peso.
AAALa entropía en A es Ent ( A ) = 1 2 ( log 2 6 − log 2 3 ) Ent(A)=\frac{1}{2}(log_26-log_23)E n t ( A )=21( log _ _26registro _ _23 )
B 、 CB、CLa entropía de B , C y así sucesivamente.
E nt ( B ) = 1 3 ( log 2 6 − log 2 2 ) Ent(B)=\frac{1}{3}(log_26-log_22)E n t ( B )=31( log _ _26registro _ _22 )
E nt ( C ) = 1 6 ( log 2 6 − log 2 1 ) Ent(C)=\frac{1}{6}(log_26-log_21)E n t ( C )=61( log _ _26registro _ _21 )
inserte la descripción de la imagen aquí
DDD的熵为:E nt ( D ) = E nt ( A ) + E nt ( B ) + E nt ( C ) Ent(D)=Ent(A)+Ent(B)+Ent(C)E n t ( D )=E n t ( A )+E n t ( B )+En t ( C ) , después de la derivación, podemos obtener:
inserte la descripción de la imagen aquí
la siguiente figura es un gráfico logarítmico, que debe pasar por el punto ( 1 , 0 ) (1,0)( 1 ,0 ) , la abscisa esP k P_kPAGk, la ordenada es E nt ( A ) Ent(A)e n t ( UN )PAGS k = 1 P_k=1PAGk=Cuando es 1, significa que la probabilidad es 1 y la entropía es 0, lo que significa que los datos son los más puros. Pk = 1 P_k=1PAGk=El alcance de 1 está entre 0 y 1, por lo que no hay ninguna parte del gráfico mayor que 1.
inserte la descripción de la imagen aquí
En otras palabras, cuanto mayor es la probabilidad, menor es el grado de caos y menor la entropía.

  • ejercicio 1

En la figura a continuación, el valor de entropía en la Figura 2 es grande y el grado de confusión es alto, mientras que los datos en la Figura 1 son relativamente puros, todos los cuales son círculos, y cuanto menor es la incertidumbre, menor es el valor de entropía.
inserte la descripción de la imagen aquí

  • Ejercicio 2
    Conjunto A: [1,2,3,4,5,6,7,8,9,10]
    Conjunto B: [1,1,1,1,1,1,1,1,9,10]
    El valor de entropía del conjunto B es pequeño, los datos de B son relativamente puros, la probabilidad de que ocurra 1 es relativamente alta, el valor de entropía es pequeño y la estabilidad es relativamente alta.
    Al hacer un árbol de decisión, cuanto menor sea el valor de la entropía, más puros serán los datos y más obvio será el efecto de la clasificación. En el modelo numérico, se espera que el valor de la entropía sea cada vez más pequeño.

ganancia de información

La entropía puede representar la incertidumbre del conjunto de la muestra, cuanto mayor sea la entropía, mayor será la incertidumbre de la muestra. Por lo tanto, la diferencia de entropía del conjunto antes y después de la división se puede usar para medir la calidad del resultado de la división del conjunto de muestra Y usando la característica actual.
La ganancia de información representa el grado en que la característica X reduce la incertidumbre de la clase Y y determina la selección de un nodo.
En la siguiente figura, los datos de entropía del nodo raíz Y son relativamente grandes en 0.9 y los datos son relativamente caóticos. Ahora, Y se divide en Y_1 y Y_2, y la distribución de entropía es 0.2 y 0.5. Se puede ver que el efecto de clasificación de Y_1 es más evidente. 0,9 − 0,2 > 0,9 − 0,5 0,9-0,2>0,9-0,50.90.2>0.90.5
inserte la descripción de la imagen aquí

Ganancia de información g de la característica A al conjunto de datos de entrenamiento D ( D , A ) g(D,A)g ( re ,A ) , definido como el conjuntoDDEntropía de la información de D H ( D ) H(D)H ( D ) y característicaAAUna condición dadaDDEntropía condicional de información de D H ( D ∣ A ) H(D|A)H ( D A ) diferencia. Es decir, la fórmula es:g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A)=H(D)-H(D|A)g ( re ,un )=alto ( fondo )H ( D A )
es esencialmente la brecha entre la entropía inicial y la entropía de la información.

  • Ejemplo de cálculo de ganancia de información
    Como se muestra en la siguiente figura, juzgamos si jugar al golf en función de las cuatro características del clima, la temperatura, la humedad y el viento.
    inserte la descripción de la imagen aquí
    Características: Clima, temperatura, humedad, viento
    Etiqueta: Ya sea para jugar baloncesto
    Cada característica determina la etiqueta y el impacto en el resultado final se muestra en la siguiente figura:
    inserte la descripción de la imagen aquí
    Proceso de cálculo:
    Es imposible juzgar de qué característica es el nodo raíz los datos solos. La ganancia de información se usa para seleccionar las características del nodo raíz. Cuanto mayor sea la ganancia de información, mejor. Cuanto mayor sea la ganancia, más efectiva será la división, y los datos se están moviendo de datos impuros a datos más puros.
    • 1. Calcular la entropía inicial
    • 2. Calcula la entropía de cada característica
    • 3. Realizar aberración esférica para obtener ganancia de información
    • 4. Seleccione la función con gran ganancia de información como nodo raíz

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
El resultado del cálculo es que la ganancia de información de la temperatura es la más grande, seleccione la temperatura como el nodo raíz y luego seleccione los nodos secundarios de la humedad, el clima y el viento para construir un árbol de decisión completo.
La obtención de un árbol de decisión a través de la obtención de información es una especie de algoritmo de toma de decisiones, denominado algoritmo ID3.

Defectos del algoritmo ID3

inserte la descripción de la imagen aquí
Si agrega una ID de columna a la tabla en este momento, cada número en la columna de ID es diferente y la característica de ID se usa para clasificar. Cada valor de ID no es igual y es una categoría separada. Cada categoría tiene solo a sí misma, lo que significa Los datos son relativamente puros y la probabilidad de que ocurra cada dato es del 100 %, lo que significa que si el ID es 0, su entropía es 0; si el ID es 6, la entropía sigue siendo 0. Si se utiliza la ganancia de información, la columna ID se utiliza como nodo raíz, lo que no tiene nada que ver con el resultado final de jugar o no.
Por lo tanto, el algoritmo ID3 tiene fallas. La ganancia de información tiende a clasificar más características. Algunos datos de ruido afectarán la clasificación general e incluso la estructura de todo el árbol. Para resolver esta falla, se propone la tasa de ganancia de información.

Tasa de ganancia de información (C4.5)

Al calcular ID3, tiende a seleccionar atributos con más valores. Para evitar este problema, C4.5 adopta el método de tasa de ganancia de información para seleccionar atributos. Tasa de ganancia de información = ganancia de información / entropía de atributos, los atributos son características. La entropía representa el grado de caos de los datos, la incertidumbre de los datos. Si un atributo tiene varios valores, los datos se dividirán en varias partes y la probabilidad de los datos aumentará. Aunque la ganancia de información aumentará, la entropía del atributo también aumentará y la tasa general de ganancia de información no cambiará tanto. . Después de dividirse en múltiples partes, la entropía de cada categoría se vuelve más baja. Para toda la muestra, la incertidumbre aumenta y la entropía aumenta. Cuantas más clasificaciones, mayor es la ganancia de información y mayor es la entropía de la información. La ganancia de información y la entropía cambian en la misma dirección al mismo tiempo, por lo que la proporción de los dos reducirá el impacto y la relación entre los dos es proporcional para reducir el aumento de la ganancia de información.

Algoritmo CARRO

El algoritmo CART, el nombre completo en inglés es (Árbol de clasificación y regresión), y el nombre chino es Árbol de clasificación y regresión. Los algoritmos ID3 y C4.5 pueden generar árboles binarios o árboles de bifurcación múltiple, mientras que CART solo admite árboles binarios. Al mismo tiempo, el árbol de decisión CART es bastante especial, se puede utilizar como árbol de clasificación y como árbol de regresión.
El árbol de clasificación CART es similar al algoritmo C4.5, excepto que el coeficiente de Gini se usa como índice de medición para la selección de atributos en lugar de la ganancia de información o la tasa de ganancia de información. El coeficiente de Gini es un indicador común utilizado para medir la brecha de ingresos en un país. El propio coeficiente de Gini refleja la incertidumbre de la muestra, cuando el coeficiente de Gini es más pequeño, significa que la diferencia entre las muestras es pequeña y el grado de incertidumbre es bajo. El proceso de clasificación en sí mismo es un proceso de purificación, cuando se usa el algoritmo CART para construir un árbol de clasificación, se seleccionará como división de atributos el que tenga el coeficiente de Gini más pequeño, que es lo opuesto a la entropía.
Fórmula del coeficiente de Gini: G ini ( D ) = 1 − ∑ k = 1 ∣ y ∣ PAGS k 2 Gini(D)= 1-\displaystyle{\sum_{k=1}^{|y|}P_k^2}G ini ( D )=1k = 1yPAGk2
Si la probabilidad es 1, cuanto mayor sea la pureza de los datos, el coeficiente de Gini será 0. Para el problema de dos clasificaciones, y no es 0 ni 1, y
el coeficiente de Gini construye un árbol de decisión:

  • Calcular el coeficiente de Gini inicial
  • Calcule el coeficiente de Gini de cada característica por separado
  • Calcule la ganancia del coeficiente de Gini haciendo la diferencia
    inserte la descripción de la imagen aquí
    inserte la descripción de la imagen aquí
    De acuerdo con el cálculo, la temperatura tiene el coeficiente de Gini más grande y se puede seleccionar como el nodo raíz.

Implementación de procesamiento continuo de datos

En el proceso real, tenemos muchos valores continuos. Por ejemplo, el ingreso anual en la figura a continuación es un valor continuo, que en realidad es un atributo numérico. ¿Cómo calculamos el coeficiente de Gini?
inserte la descripción de la imagen aquí
El proceso es el siguiente:

  • Ordenar valores desordenados de pequeño a grande
  • Dicotomía continua
    inserte la descripción de la imagen aquí
    Tome el valor medio de los datos en pares, por ejemplo, el valor medio de 60 y 70 es 65, el valor medio de 70 y 75 es 72,5, y así sucesivamente. Tomando 65 como punto de división, solo hay un número menos de 65, que representa una décima parte de los datos. De los nueve décimos restantes, 6 no tienen préstamos y 3 tienen préstamos. La ganancia de Gini se calcula como 0,02; a su vez, se utiliza 72,5 como división. Se calculan los puntos para obtener la ganancia del coeficiente de Gini en la figura anterior, y se toma como nodo raíz el punto con la mejor ganancia de Gini.
    inserte la descripción de la imagen aquí
    El proceso de procesamiento de datos continuos es el proceso de discretización de valores continuos.

poda

La poda consiste en adelgazar el árbol de decisiones. El objetivo de este paso es obtener resultados diferentes sin juzgar demasiado. Por ejemplo, cuando se realiza el descenso de gradiente 10.000 veces, el mejor resultado puede haber aparecido en cientos de veces. La poda es para evitar que se produzca el "overfitting" (Overfitting), y cuando se obtiene el mejor resultado, la parada. Si el conjunto de entrenamiento de sobreajuste es demasiado perfecto, los resultados del conjunto de prueba no serán satisfactorios durante la prueba.
Es necesario utilizar la poda para evitar que se produzca un sobreajuste. Si continúa dividiendo sin podar, el 100 % de los datos se dividirán para obtener un resultado correcto. Como se muestra en la figura a continuación, la división se realiza por completo.
inserte la descripción de la imagen aquí

El efecto de dividir continuamente hacia abajo es el mismo que dividir por la mitad, por lo que no es necesario seguir dividiendo hacia abajo, de lo contrario, siempre consumirá recursos de la computadora.

pre-poda

Realice algunos ajustes antes de construir la rama:

  • Especifique la altura o la profundidad del árbol. Por ejemplo, la cifra anterior se divide 10 4 veces. Si la altura especificada es 3, la cuarta vez no se ejecutará.
  • El número mínimo de muestras contenidas en cada nodo, por ejemplo, si el número mínimo de muestras se especifica como 3, no se ejecutará después de 3
  • Si la entropía del nodo especificado es menor que cierto valor, ya no se dividirá. Por ejemplo, si la entropía especificada es 0,2 y la entropía de exactamente 2 lugares es 0,2, no se ejecutará más.

post poda

Se puede obtener una versión simplificada del árbol de decisión podado al podar el árbol de decisión de sobreajuste generado.

Supongo que te gusta

Origin blog.csdn.net/hwwaizs/article/details/131942399
Recomendado
Clasificación