¿A qué escuela pertenece el aprendizaje del árbol de decisiones?
El modelo de árbol de decisión de clasificación es una estructura de árbol que describe instancias de clasificación. Un árbol de decisión consta de nodos y aristas dirigidas. Los nodos se dividen en nodos internos y nodos hoja. Los nodos internos representan una característica o atributo y los nodos hoja representan una clase.
Forma: Los círculos representan nodos internos y los cuadros representan nodos de hojas. Reglas si-entonces, en pocas palabras:
Por ejemplo, para una manzana, la apariencia es roja, pero la apariencia es verde. Se puede expresar como:
El conjunto de reglas si-entonces tiene una propiedad importante:
Esto significa que cada instancia está cubierta por una ruta o regla, y está cubierta por solo una. camino o regla. La llamada cobertura aquí significa que las características de la instancia son consistentes con las características en la ruta, o que la instancia satisface las condiciones de la regla. Dado un conjunto de datos:
dónde está la instancia de entrada que contiene la función (), es la etiqueta de clase y es. Objetivo:
Construir un modelo de árbol de decisión que pueda clasificar correctamente las instancias en función de un conjunto de datos de entrenamiento determinado. La selección de características consiste en seleccionar características que puedan clasificar los datos de entrenamiento, lo que puede mejorar la eficiencia del aprendizaje del árbol de decisiones. Si el resultado de la clasificación utilizando una determinada característica no es muy diferente del resultado de la clasificación aleatoria, se dice que esta característica no tiene capacidad de clasificación. Entonces la pregunta es, ¿cómo elegir funciones? Por lo general, los criterios para la selección de funciones son
A continuación se muestran algunos ejemplos para ilustrar. Objetivo:
Espero aprender un árbol de decisión para una solicitud de préstamo a través de los datos del conjunto de capacitación proporcionado. Cuando un nuevo cliente solicita un préstamo, se utiliza un árbol de decisión para decidir si se aprueba la solicitud de préstamo en función de las características del solicitante. Se puede ver que * * * hay cuatro funciones para elegir. Los criterios para la selección de características son. A continuación, presentémoslo. :
La entropía es una medida de incertidumbre. Sea una variable aleatoria con un número finito de valores y su distribución de probabilidad es
La entropía de una variable aleatoria se define como
Si es así, defínala. El logaritmo suele ser de base 2 o base 2, y la distribución unitaria de entropía es bits o nat.
Se puede ver en la fórmula anterior que la entropía solo depende de la distribución y no tiene nada que ver con el valor, por lo que la entropía también se puede registrar como, es decir,
De la definición,
p>
Por ejemplo, cuando la variable aleatoria tiene solo dos valores, la distribución de es
La entropía es
La La curva de entropía que cambia con la probabilidad es Cuando o, la variable aleatoria no tiene ninguna inconsistencia. Cuando es determinista, el valor de entropía es el mayor y la incertidumbre de la variable aleatoria es la mayor. Sea una variable aleatoria
La entropía condicional representa la incertidumbre de la variable aleatoria en condiciones conocidas. La entropía condicional de una variable aleatoria en condiciones dadas se define como el par de entropías de la distribución de probabilidad condicional en condiciones dadas.
Ganancia de información
Ganancia de información de características en el conjunto de entrenamiento
Según el criterio de ganancia de información, método de selección de características: para el conjunto de entrenamiento, calcule la información ganancia de cada característica, compare el tamaño y seleccione la característica con la mayor ganancia de información. Algoritmo que define cada cantidad: ganancia de información temprana
Entrada: conjunto de entrenamiento y características;
Salida: ganancia de información de características en el conjunto de entrenamiento. Volviendo al ejemplo de ahora, la solución es:
Esta vez estaba aburrido y quería usarlo. csv. Entonces, el conjunto de datos de entrenamiento es el siguiente, que guardé en un archivo lend.csv. Varios procesamientos. Los archivos CSV generalmente se completan con el módulo pandas de Python. El primer paso es importar los módulos relevantes.
Paso 2: si usa jupyter para leer los datos, puede verificar los datos y las etiquetas de datos inmediatamente. Se puede ver que las primeras cuatro etiquetas "edad", "trabajo", "poseer una casa" y "condiciones de crédito", excepto "identificación", son las características de las que hemos estado hablando, y la última etiqueta, "etiqueta", es la clase de la que estamos hablando, por lo que necesitamos procesar estas etiquetas.
El tercer paso es calcular la entropía del conjunto de entrenamiento:
Aquí usaremos una función estadística groupby(by = [columna]) de Panda. Grupo, datos estadísticos en forma de diccionario, que es más abstracto. Mirando la imagen a continuación, los datos que leemos con panda se dividen en dos categorías. El índice representa el índice, a saber, 0, 1, 4, 5, 6.
14 (Python comienza a contar desde 0), los datos 2.º, 3.º, 7.º, 8.º, 9.º, 10.º, 11.º, 12.º y 13.º.
Luego calcula la entropía del conjunto de entrenamiento.
El cuarto paso es calcular la entropía condicional de la característica al conjunto de datos.
El quinto paso es calcular la ganancia de información.
Entrada: conjunto de entrenamiento, características y umbrales;
Salida: árbol de decisión
Si todas las instancias en (1) pertenecen a la misma clase, entonces En un árbol de un solo nodo, la clase se devuelve como la etiqueta de clase del nodo
(2) Si es así, es un árbol de un solo nodo y la clase con el mayor número de instancias se utiliza como la etiqueta de clase del nodo y devuelto;
p>(3) De lo contrario, de acuerdo con el algoritmo de ganancia de información anterior, calcule la ganancia de información de cada par de características y seleccione la característica con la mayor ganancia de información;
(4) Si la ganancia de información de la característica es menor que el umbral, entonces se establece en un árbol de un solo nodo y la clase con el mayor número de instancias se devuelve como la etiqueta de clase de el nodo;
(5) De lo contrario, cada valor posible del par se divide en varios subconjuntos no vacíos, y el par es La clase con el mayor número de instancias se utiliza como etiqueta de clase del nodo, construyendo así un nodo hijo. El nodo y sus nodos hijos forman un árbol y regresan
(6) Para el hijo con el conjunto de entrenamiento y el conjunto de características El nodo llama recursivamente a los pasos (1) a ( 5), obtiene el subárbol y regresa. Para los datos del conjunto de entrenamiento en la tabla anterior, use el algoritmo ID3 para construir un árbol de decisión. Solución: Primera iteración:
Características: Tener casa propia Divida el conjunto de datos en dos subconjuntos (tener casa propia) y (no tener casa propia). Observe y:: Dado que todas las instancias pertenecen a la misma clase, es un nodo hoja y la clase del nodo está marcada como "Sí". :Para, debe seleccionar una nueva función de Funciones. Segunda iteración: se tratará como un nuevo conjunto de datos. Características: Un trabajo tiene dos valores posibles, divididos en dos subconjuntos (con trabajo) y (sin trabajo). Observe y:: Dado que todas las instancias pertenecen a la misma clase, es un nodo hoja y la clase del nodo está marcada como "Sí". :