Compartir tecnología

Aprendizaje automático: árbol de decisiones (notas)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Tabla de contenido

1. Comprender los árboles de decisión

1. Introducción

2. Proceso de generación del árbol de decisión

2. Árbol de decisión en sklearn

1. tree.DecisionTreeClassifier (árbol de clasificación)

(1) Parámetros básicos del modelo.

(2) Atributos del modelo

(3) Interfaz

2. tree.DecisionTreeRegressor (árbol de regresión)

3. tree.export_graphviz (exporta el árbol de decisión generado al formato DOT, específicamente para dibujar)

4. Otros (suplementarios)

3. Ventajas y desventajas de los árboles de decisión

1. Ventajas

2. Desventajas


1. Comprender los árboles de decisión

1. Introducción

El árbol de decisión es unMétodos de aprendizaje supervisado no paramétricos., que puede seleccionar entre una serie de Las reglas de decisión se resumen a partir de datos con características y etiquetas, y estas reglas se presentan en una estructura de diagrama de árbol para resolver problemas de clasificación y regresión.Los algoritmos de árbol de decisión son fáciles de entender, aplicables a diversos datos y funcionan bien para resolver diversos problemas. En particular, varios algoritmos integrados con modelos de árbol como núcleo se utilizan ampliamente en diversas industrias y campos.

2. Proceso de generación del árbol de decisión

El conjunto de datos anterior es Datos sobre una lista de especies conocidas y sus categorías. .Nuestro objetivo actual es dividir a los animales enMamíferos y no mamíferos . Según los datos recopilados, el algoritmo del árbol de decisión puede calcular el siguiente árbol de decisión:

Si ahora descubrimos una nueva especie A, que es un animal de sangre fría con escamas en el cuerpo y no vivíparo, podemos juzgar su especie a través de este árbol de decisión. categoría

Conceptos clave involucrados: nodos

① Nodo raíz : No hay un flanco entrante, sino un flanco saliente. Contiene preguntas iniciales centradas en funciones.

② Nodo intermedio : Hay bordes entrantes y salientes. Solo hay un borde entrante, pero puede haber muchos bordes salientes. Todas son preguntas sobre características.

③ Nodo hoja: Hay bordes entrantes y no salientes. Cada nodo hoja es una etiqueta de categoría.

④ Nodos secundarios y nodos principales: Entre dos nodos conectados, el que está más cerca del nodo raíz es el nodo principal y el otro es el nodo secundario.

2. Árbol de decisión en sklearn

Módulos involucrados: sklearn.tree

1. tree.DecisionTreeClassifier (árbol de clasificación)

(1) Parámetros básicos del modelo.

(2) Atributos del modelo

(3) Interfaz

2. tree.DecisionTreeRegressor (árbol de regresión)

Parámetros importantescriterio

        El árbol de regresión mide la calidad de las ramas., hay tres estándares compatibles:

    ① Ingrese "mse" para usar el error cuadrático medio (MSE), la diferencia del error cuadrático medio entre el nodo principal y el nodo hoja se utilizará como criterio para la selección de características. Este método minimiza la pérdida de L2 utilizando el valor medio del nodo hoja.

     ② Ingrese "friedman_mse" para usar el error cuadrático medio de Feldman, una métrica que utiliza el error cuadrático medio modificado de Friedman para problemas en ramas latentes.

     ③ Ingrese "mae" para usar el error absoluto medio MAE (error absoluto medio), esta métrica utiliza el valor mediano de los nodos de hoja para minimizar la pérdida de L1.

3. tree.export_graphviz (exporta el árbol de decisión generado al formato DOT, específicamente para dibujar)

4. Otros (suplementarios)

        ① El cálculo de la entropía de la información es más lento que el coeficiente bikini. , porque el cálculo del coeficiente de Gini no implica logaritmos.Además, debido a que la entropía de la información es más sensible a la impureza, entoncesCuando se utiliza la entropía de la información como indicador, el crecimiento del árbol de decisión será más "fino", por lo que para datos de alta dimensión o datos con mucho ruido, la entropía de la información es fácil de sobreajustar y el coeficiente de Gini suele funcionar mejor en este caso.

② random_state se utiliza para establecer los parámetros del patrón aleatorio en la rama. El valor predeterminado es Ninguno.La aleatoriedad será más obvia en dimensiones altas. En datos de dimensiones bajas (como el conjunto de datos del iris), la aleatoriedad apenas aparecerá. . Ingrese cualquier número entero y el mismo árbol siempre crecerá, permitiendo que el modelo se estabilice.

③ El divisor también se utiliza para controlar las opciones aleatorias en el árbol de decisión. Hay dos valores de entrada. Ingrese "mejor". Aunque el árbol de decisión es aleatorio al bifurcar, aún dará prioridad a las características más importantes para la bifurcación. se puede ver a través del atributo feature_importances_),Ingrese "aleatorio" y el árbol de decisión será más aleatorio al bifurcarse, el árbol será más profundo y más grande porque contiene más información innecesaria y el ajuste al conjunto de entrenamiento se reducirá debido a esta información innecesaria.

④ Sin restricciones, un árbol de decisión crecerá hasta que el índice que mide la impureza sea óptimo, o hasta que no haya más características disponibles. Dicho árbol de decisión a menudo se sobreajustará.Para que el árbol de decisión tenga una mejor generalización, el árbol de decisión debe serpoda . Las estrategias de poda tienen un gran impacto en los árboles de decisión.La estrategia de poda correcta es el núcleo de la optimización del algoritmo del árbol de decisión.

3. Ventajas y desventajas de los árboles de decisión

1. Ventajas

① Fácil de entender y explicar porque los árboles se pueden dibujar y ver.

② Requiere poca preparación de datos. Muchos otros algoritmos a menudo requieren normalización de datos, creación de variables ficticias y eliminación de valores nulos, etc.peroEl módulo de árbol de decisión en sklearn no admite el procesamiento de valores faltantes

③ Uso costo del arbol(por ejemplo, al predecir datos) es el logaritmo del número de puntos de datos utilizados para entrenar el árbol, lo cual tiene un costo muy bajo en comparación con otros algoritmos.

④ Capaz de procesar datos numéricos y categóricos simultáneamente,Se pueden realizar tanto la regresión como la clasificación. . Otras técnicas suelen estar especializadas en analizar conjuntos de datos con un solo tipo de variable.

⑤ Capaz de manejar problemas de múltiples salidas, es decir, problemas con múltiples etiquetas (tenga en cuenta que se distinguen de los problemas con múltiples clasificaciones de etiquetas en una etiqueta)

⑥ es un modelo de caja blanca , los resultados son fácilmente interpretables. Si se puede observar una situación determinada en el modelo, las condiciones se pueden explicar fácilmente mediante la lógica booleana. Por el contrario, en los modelos de caja negra (por ejemplo, en redes neuronales artificiales), los resultados pueden ser más difíciles de interpretar.

⑦ El modelo se puede verificar mediante pruebas estadísticas, lo que nos permite considerar la confiabilidad del modelo. Puede funcionar bien incluso si sus supuestos violan hasta cierto punto el modelo real que generó los datos.

2. Desventajas

① Los estudiantes de árboles de decisión pueden crear árboles demasiado complejos que no generalizan bien los datos. A esto se le llama sobreajuste. ciruela pasa,Mecanismos como establecer el número mínimo de muestras requeridas para un nodo de hoja o establecer la profundidad máxima del árboles necesario para evitar este problema.

② Los árboles de decisión pueden ser inestables y pequeños cambios en los datos pueden generar árboles completamente diferentes. Este problema debe resolverse mediante un algoritmo integrado.

③ El aprendizaje del árbol de decisiones se basa enalgoritmo codicioso, se basa en Optimizar el óptimo local (el óptimo de cada nodo) para intentar lograr el óptimo general, pero este enfoque no garantiza devolver el árbol de decisión óptimo global. Este problema también se puede resolver mediante algoritmos de conjunto. En los bosques aleatorios, las características y muestras se muestrean aleatoriamente durante el proceso de ramificación.

④ Algunos conceptos son difíciles de aprender porque los árboles de decisión no los expresan fácilmente, como XOR, paridad o problemas de multiplexor.

⑤ Si ciertas clases en las etiquetas son dominantes, el alumno del árbol de decisión crea árboles que están sesgados hacia las clases dominantes.Por lo tanto, se recomienda que antes de montar un árbol de decisiónConjunto de datos equilibrados