Notas sobre el árbol de decisiones de aprendizaje automático

        Los árboles de decisión son un algoritmo de aprendizaje automático de uso común para resolver problemas de clasificación y regresión. Es un modelo basado en una estructura de árbol que puede analizar y predecir datos en función de las características de entrada dadas.

        La estructura básica de un árbol de decisión consta de nodos (Nodo) y aristas (Edge). La parte superior del árbol se denomina nodo raíz (Root Node), y la parte inferior del árbol se denomina nodo hoja (Leaf Node). En un árbol de decisión, cada nodo interno representa una prueba para una característica y cada nodo hoja representa una etiqueta de clase o un valor de regresión.

        El proceso de construcción del árbol de decisión comienza desde el nodo raíz y, a través del análisis de los datos, se seleccionan las mejores características para construir las ramas del árbol. Los criterios para seleccionar las mejores funciones generalmente se basan en indicadores como la ganancia de información, el índice de Gini o el error cuadrático medio. Los subconjuntos múltiples se obtienen dividiendo los datos de acuerdo con las características seleccionadas y luego aplicando recursivamente el mismo proceso de construcción a cada subconjunto hasta que se cumpla una determinada condición de parada (por ejemplo, profundidad máxima alcanzada, número insuficiente de muestras, etc.).

        La idea central de un árbol de decisión es dividir los datos en función de una serie de características para construir una estructura de árbol para la predicción y la toma de decisiones.

La idea central de un árbol de decisión se puede resumir de la siguiente manera:

  1. Selección de características: los árboles de decisión realizan la segmentación de datos seleccionando las mejores características. En cada nodo, la importancia de cada función se evalúa mediante el uso de algunas métricas (como la ganancia de información, el coeficiente de Gini, etc.) y la función con la mayor capacidad de clasificación para el nodo actual se selecciona como base para la segmentación.

  2. Segmentación de datos: después de seleccionar la mejor característica, el árbol de decisiones divide los datos según el valor de la característica para formar varios subconjuntos. Cada subconjunto corresponde a una rama, donde cada rama representa un posible valor de característica.

  3. Construcción recursiva: para cada subconjunto, un árbol de decisión construye un subárbol aplicando recursivamente los pasos anteriores. Esto significa que el proceso de seleccionar las mejores características y dividir los datos se repite en cada subconjunto hasta que se cumpla una determinada condición de parada, como alcanzar la profundidad máxima, número insuficiente de muestras, etc.

  4. Etiqueta de nodo de hoja: durante la construcción del árbol de decisión, cada nodo de hoja representa una etiqueta de categoría final o un valor de regresión. En problemas de clasificación, cada nodo hoja representa una etiqueta de categoría, que se puede determinar de acuerdo con la categoría mayoritaria de muestras en el subconjunto; en problemas de regresión, cada nodo hoja representa un valor de regresión, que se puede determinar de acuerdo con el promedio o la mediana de muestras en el número de subconjunto para determinar.

  5. Predicción y toma de decisiones: cuando se ingresa una nueva muestra en el árbol de decisión, baja por la rama del árbol de acuerdo con el valor de la característica hasta que llega al nodo hoja. Luego, se toman predicciones o decisiones basadas en las etiquetas de clase o valores de regresión de los nodos hoja.

        La idea central del árbol de decisión es construir un modelo con una fuerte interpretabilidad y capacidad predictiva a través de la selección de características y la segmentación de datos. Al seleccionar continuamente las mejores funciones y dividir los datos, los árboles de decisión pueden formar una jerarquía que hace que el proceso de predicción y toma de decisiones sea fácil e intuitivo. Además, los árboles de decisión pueden manejar características discretas y continuas y pueden usarse para problemas de clasificación y regresión.

        En los problemas de clasificación, los nodos hoja de un árbol de decisión representan diferentes etiquetas de clase. En la etapa de predicción, la muestra de entrada desciende a través de las ramas del árbol de decisión de acuerdo con el valor de la característica hasta que alcanza el nodo hoja y luego genera la categoría del nodo hoja como resultado de la predicción.

        En problemas de regresión, los nodos hoja del árbol de decisión representan los valores de regresión. El proceso de predicción es similar a la clasificación.El valor de la característica baja por el árbol de decisión hasta que alcanza el nodo hoja, y luego el valor de regresión del nodo hoja se genera como resultado de la predicción.

Los árboles de decisión tienen las siguientes ventajas:

  1. Fácil de entender y explicar: la estructura del árbol de decisión se puede presentar de manera intuitiva y la base de los resultados de la predicción se puede explicar de acuerdo con las ramas y los nodos del árbol.
  2. Funciona tanto con características discretas como continuas: los árboles de decisión pueden manejar características discretas y continuas sin requerir un preprocesamiento especial de las características.
  3. Puede manejar problemas de múltiples resultados: los árboles de decisión se pueden extender para resolver problemas de múltiples resultados, es decir, cada nodo hoja puede representar múltiples etiquetas de categoría o valores de regresión.

Sin embargo, los árboles de decisión también tienen algunas limitaciones:

  1. Fácil de sobreajustar: los árboles de decisión tienden a generar estructuras de árbol demasiado complejas, lo que resulta en un sobreajuste de los datos de entrenamiento y un rendimiento deficiente en los datos no vistos. El problema del sobreajuste puede reducirse mediante técnicas como la poda.
  2. Sensible al ruido y a los valores atípicos: los árboles de decisión son sensibles al ruido y a los valores atípicos, lo que puede conducir a predicciones inestables.
  3. No apto para datos con fuertes correlaciones entre características: los árboles de decisión no funcionan bien con datos con características fuertemente correlacionadas porque solo consideran una característica en cada nodo.

        Para superar algunas limitaciones de los árboles de decisión, se han desarrollado algunos algoritmos de árboles de decisión mejorados, como Random Forests, Gradient Boosting Trees, etc. Estos algoritmos mejoran el rendimiento predictivo al combinar múltiples árboles de decisión y, hasta cierto punto, abordan las limitaciones de los árboles de decisión.

Aquí hay un código de ejemplo para un árbol de decisión simple, usando Python y la biblioteca Scikit-learn:

Este es un código de árbol de decisión de ejemplo simple que puede modificar y ampliar según sea necesario para adaptarse a diferentes conjuntos de datos y problemas.

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn import metrics

# 加载示例数据集(这里使用鸢尾花数据集)
iris = datasets.load_iris()
X = iris.data  # 特征
y = iris.target  # 标签

# 将数据集拆分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)

# 创建决策树分类器
clf = DecisionTreeClassifier()

# 在训练集上训练决策树模型
clf.fit(X_train, y_train)

# 在测试集上进行预测
y_pred = clf.predict(X_test)

# 评估模型性能
print("准确率:", metrics.accuracy_score(y_test, y_pred))

        En el código anterior, primero se importan las bibliotecas y los módulos necesarios. Luego cargó un conjunto de datos de ejemplo (conjunto de datos de iris) que contiene características y etiquetas de flores. Luego, el conjunto de datos se divide en conjunto de entrenamiento y conjunto de prueba. Aquí,  train_test_split se usa una función para dividir el conjunto de datos de acuerdo con la proporción especificada.

        A continuación, se crea un objeto clasificador de árbol de decisión  clf, utilizando  DecisionTreeClassifier class create. A continuación, se llama al método con los datos y las etiquetas del conjunto de entrenamiento fitpara entrenar el modelo de árbol de decisión.

        Una vez completada la capacitación, use los datos del conjunto de prueba  predict para llamar al método para hacer una predicción y guarde el resultado de la predicción en formato  y_pred .

Finalmente, use  metrics.accuracy_score la función para calcular la precisión del resultado de la predicción e imprímalo.

Aquí hay algunas técnicas utilizadas por los árboles de decisión:

  1. Selección de funciones: elegir las funciones correctas es crucial para el rendimiento de un árbol de decisión. Deben seleccionarse aquellas características que tengan mayor ganancia de información o coeficiente de Gini, que pueden distinguir mejor entre diferentes clases o regresores.

  2. Manejo de valores faltantes: los árboles de decisión son robustos a los valores faltantes y pueden manejar datos con valores faltantes. Cuando se trate de valores faltantes, utilice las características con la mayor reducción de impurezas para la división o trate los valores faltantes como una categoría separada.

  3. Poda: los árboles de decisión tienden a sobreajustar los datos de entrenamiento, y la poda es una técnica para reducir el sobreajuste. Se pueden utilizar métodos de prepoda o pospoda. En el proceso de construcción del árbol, la poda previa evita la división mediante algunas restricciones condicionales antes de que se divida cada nodo. La poda posterior simplifica la estructura del árbol al podar algunos nodos de hoja después de construir el árbol completo.

  4. Manejo de funciones continuas: los árboles de decisión manejan funciones discretas de forma predeterminada, pero se pueden manejar convirtiendo funciones continuas en funciones discretas. Un enfoque común es utilizar la segmentación binaria (dicotomía), donde una característica continua se divide en dos valores discretos en función de un umbral y luego se segmenta en función de estos dos valores.

  5. Métodos de conjunto: los árboles de decisión pueden mejorar el rendimiento predictivo a través de métodos de conjunto. Random Forest y Gradient Boosted Trees son dos algoritmos de árbol de decisión de conjunto comúnmente utilizados. Los bosques aleatorios reducen el sobreajuste mediante la creación de múltiples árboles de decisión y el conjunto de sus resultados. Los árboles potenciados por gradientes mejoran las predicciones mediante la construcción incremental de árboles de decisión, cada árbol diseñado para reducir el error de predicción del árbol anterior.

  6. Interpretabilidad y visualización: los árboles de decisión son altamente interpretables, y la base para predecir los resultados se puede entender visualizando la estructura del árbol. Puede utilizar herramientas como Graphviz para convertir el árbol de decisiones en un formato gráfico para comprender mejor las ramas del árbol de decisiones y el proceso de toma de decisiones.

Las anteriores son algunas de las técnicas utilizadas por los árboles de decisión. De acuerdo con las características de los problemas específicos y los conjuntos de datos, estas técnicas se pueden aplicar de manera flexible para optimizar el rendimiento de los modelos de árboles de decisión.

Supongo que te gusta

Origin blog.csdn.net/Aresiii/article/details/131699043
Recomendado
Clasificación