Compartir tecnología

Introducción al algoritmo del árbol de decisión, principios e implementación de casos.

2024-07-12

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

El algoritmo de árbol de decisión es un algoritmo de aprendizaje automático muy popular que se puede utilizar para tareas de clasificación y regresión. La siguiente es una introducción detallada al algoritmo del árbol de decisión, incluidos principios e implementaciones de casos, así como el código Python correspondiente.

Introducción al algoritmo del árbol de decisión.

concepto basico

Un árbol de decisión es una estructura de árbol utilizada para la clasificación o regresión de datos. Consta de nodos y bordes, donde cada nodo interno representa una prueba de una característica, cada rama representa el resultado de la prueba y cada nodo hoja representa una categoría o valor de regresión.

Proceso de construcción

El proceso de construcción del árbol de decisión suele incluir los siguientes pasos:

  1. Elige las mejores características: Seleccione las mejores características para dividir el conjunto de datos según un criterio determinado (como ganancia de información, índice de Gini, etc.).
  2. Crear nodo: divida el conjunto de datos utilizando las mejores funciones y cree nuevos nodos para cada rama.
  3. Construir subárboles recursivamente: El proceso de seleccionar las mejores características y dividir el conjunto de datos se repite para cada nodo secundario hasta que se cumpla una condición de detención (como que la pureza del nodo alcance un cierto nivel o que la profundidad del árbol alcance un valor preestablecido).
  4. Construir nodos de hoja: Los nodos hoja se crean cuando ya no es necesaria la división, normalmente la etiqueta de clase mayoritaria para los árboles de clasificación o la media de todos los puntos de datos en el subconjunto para los árboles de regresión.
criterio de división
  • ganancia de información: Mide la reducción de la incertidumbre en la clasificación de un conjunto de datos por una característica.
  • índice de Gini: Mide la pureza del conjunto de datos. Cuanto menor sea el índice de Gini, mayor será la pureza del conjunto de datos.
  • Error cuadrático medio mínimo (MSE): Criterio de división para árboles de regresión.

Implementación de casos

El siguiente es un caso de clasificación de árbol de decisión implementado usando Python y la biblioteca scikit-learn. Usaremos el famoso conjunto de datos Iris, que contiene características y categorías de tres flores de iris (Setosa, Versicolor, Virginica).

1. Preparación de datos
  1. from sklearn.datasets import load_iris
  2. from sklearn.model_selection import train_test_split
  3. # 加载数据集
  4. iris = load_iris()
  5. X, y = iris.data, iris.target
  6. # 拆分数据集为训练集和测试集
  7. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
Entrenar un modelo de árbol de decisión
  1. from sklearn.tree import DecisionTreeClassifier
  2. # 初始化决策树分类器
  3. clf = DecisionTreeClassifier()
  4. # 训练模型
  5. clf.fit(X_train, y_train)
Modelo de evaluación
  1. from sklearn.metrics import accuracy_score
  2. # 预测测试集
  3. y_pred = clf.predict(X_test)
  4. # 计算准确率
  5. accuracy = accuracy_score(y_test, y_pred)
  6. print(f"Accuracy: {accuracy:.2f}")
árbol de decisión visual
  1. import matplotlib.pyplot as plt
  2. from sklearn.tree import plot_tree
  3. # 可视化决策树
  4. plt.figure(figsize=(12, 12))
  5. plot_tree(clf, filled=True, feature_names=iris.feature_names, class_names=iris.target_names)
  6. plt.show()

Resumir:

El código anterior muestra cómo utilizar la biblioteca scikit-learn para cargar el conjunto de datos de Iris, entrenar un clasificador de árbol de decisión, evaluar el rendimiento del modelo y visualizar el árbol de decisión. A través de este caso, podrá ver cómo funciona un árbol de decisión y cómo utilizarlo en aplicaciones prácticas.

Espero que les guste a todos. Si les gusta, denle un me gusta y guárdenlo.