Regresión de árbol de decisión incrementado

Importante

El soporte técnico de Machine Learning Studio (clásico) finalizará el 31 de agosto de 2024. Se recomienda realizar la transición a Azure Machine Learning antes de esa fecha.

A partir del 1 de diciembre de 2021 no se podrán crear recursos de Machine Learning Studio (clásico). Hasta el 31 de agosto de 2024, puede seguir usando los recursos de Machine Learning Studio (clásico) existentes.

La documentación de ML Studio (clásico) se está retirando y es posible que no se actualice en el futuro.

Crea un modelo de regresión con el algoritmo del árbol de decisión impulsado

Categoría: Machine Learning/ Inicializar modelo/Regresión

Nota:

Solo se aplica a: Machine Learning Studio (clásico)

Hay módulos para arrastrar y colocar similares en el diseñador de Azure Machine Learning.

Información general sobre el módulo

En este artículo se describe cómo usar el módulo Regresión de árbol de decisión potenciado en Machine Learning Studio (clásico) para crear un conjunto de árboles de regresión mediante la potenciación. Potenciación significa que cada árbol depende de árboles anteriores. El algoritmo aprende ajustando el valor residual de los árboles que le preceden. Por lo tanto, la potenciación de un conjunto de árboles de decisión tiende a mejorar la precisión a pesar de correr el riesgo de tener menor cobertura.

Este método de regresión es un método de aprendizaje supervisado y, por lo tanto, requiere un conjunto de datos con etiquetas. La columna con la etiqueta debe contener valores numéricos.

Nota

Utilice este módulo solo con conjuntos de datos en los que se usen variables numéricas.

Después de definir el modelo, entrena con los módulos Entrenar modelo o Optimizar hiperparámetros del modelo.

Sugerencia

¿Quiere más información sobre los árboles que se han creado? Una vez entrenado el modelo, haga clic con el botón derecho en la salida del módulo Train Model (Entrenar modelo) (o Tune Model Hyperparameters module) (Optimizar hiperparámetros del modelo) y seleccione Visualizar para ver el árbol que se creó en cada iteración. Puede explorar en profundidad las divisiones de cada árbol y ver las reglas de cada nodo.

Más información sobre los árboles de regresión potenciados

La potenciación es uno de los distintos métodos clásicos para crear modelos de conjuntos, junto con la agregación, los bosques aleatorios, etc. En Machine Learning Studio (clásico), los árboles de decisión potenciados usan una implementación eficaz del algoritmo de potenciación de gradiente mart. La potenciación del gradiente es una técnica de aprendizaje automático para problemas de regresión. Genera cada árbol de regresión de forma gradual, usando una función de pérdida predefinida para medir el error en cada paso y corregirlo en el siguiente. Por lo tanto, el modelo de predicción es en realidad un conjunto de modelos de predicción más débiles.

En los problemas de regresión, la potenciación genera una serie de árboles de forma gradual y después selecciona el árbol óptimo mediante una función arbitraria de pérdida diferenciable.

Para más información, vea estos artículos:

El método de potenciación de gradientes también se puede usar para clasificar problemas reduciéndolos a la regresión con una función de pérdida adecuada. Para más información sobre la implementación de árboles potenciados para tareas de clasificación, vea Árbol de decisión potenciado de segunda clase.

Cómo configurar la regresión del árbol de decisión potenciado

  1. Agregue el módulo Boosted Decision Tree (Árbol de decisión impulsado) al experimento. Puede encontrar este módulo en Machine Learning, Initialize (Inicializar), en la categoría Regression (Regresión).

  2. Especifique cómo quiere que se entrene el modelo, estableciendo la opción Create trainer mode (Crear modo entrenador).

    • Single Parameter (Parámetro único): seleccione esta opción si sabe cómo quiere configurar el modelo y proporcione un conjunto específico de valores como argumentos.

    • Parameter Range (Intervalo de parámetros): seleccione esta opción si no está seguro de los mejores parámetros y quiere ejecutar un barrido de parámetros. Seleccione un rango de valores que iterar y el módulo Optimización de hiperparámetros de un modelo itera en todas las combinaciones posibles de los valores proporcionados para determinar los hiperparámetros que generan los resultados óptimos.

  3. Número máximo de hojas por árbol: indique el número máximo de nodos terminales (hojas) que se pueden crear en un árbol.

    Al aumentar este valor, podría aumentar el tamaño del árbol y obtener una mayor precisión, a riesgo de experimentar un sobreajuste y un mayor tiempo de entrenamiento.

  4. Número mínimo de muestras por nodo hoja: indique el número mínimo de casos necesarios para crear un nodo terminal (hoja) en un árbol.

    Al aumentar este valor, aumenta el umbral para crear reglas nuevas. Por ejemplo, con el valor predeterminado de 1, incluso un solo caso puede provocar que se cree una regla nueva. Si aumenta el valor a 5, los datos de entrenamiento tienen que contener, como mínimo, cinco casos que cumplan las mismas condiciones.

  5. Velocidad de aprendizaje: escriba un número entre 0 y 1 que defina el tamaño de paso durante el aprendizaje. La velocidad de aprendizaje determina la rapidez o lentitud con la que el aprendiz converge en la solución óptima. Si el tamaño del paso es demasiado grande, puede pasar por alto la solución óptima. Si el tamaño del paso es demasiado pequeño, el entrenamiento tarda más tiempo en converger en la mejor solución.

  6. Número de árboles construidos: indica el número total de árboles de decisión que se va a crear en el conjunto. Al crear más árboles de decisión, puede obtener una mejor cobertura, pero el tiempo de entrenamiento aumenta.

    Este valor también controla el número de árboles que se muestran al visualizar el modelo entrenado. Si desea ver o imprimir un árbol de entrada, puede establecer el valor en 1; sin embargo, esto significa que solo se genera un árbol (el árbol con el conjunto inicial de parámetros) y no se realizan más iteraciones.

  7. Número de iniciación aleatorio: introduzca un número entero no negativo opcional para que se use como valor de inicialización aleatorio. Al especificar un valor, se garantiza la reproducibilidad durante las ejecuciones que tienen los mismos datos y parámetros.

    De forma predeterminada, el valor de inicialización aleatorio se establece en 0, lo que significa que el valor de inicialización inicial se obtiene a partir del reloj del sistema.

  8. Permitir niveles de categorías desconocidos: seleccione esta opción para crear un grupo para valores desconocidos en los conjuntos de entrenamiento y validación. Si desactiva esta opción, el modelo puede aceptar únicamente los valores que se encuentran en los datos de entrenamiento. El modelo podría ser menos preciso con valores conocidos, pero puede proporcionar mejores predicciones para los valores nuevos (desconocidos).

  9. Agregue un conjunto de datos de entrenamiento y uno de los módulos de entrenamiento:

    Nota:

    Si pasa un intervalo de parámetros a Entrenar modelo, solo utiliza el primer valor en la lista del intervalo de parámetros.

    Si pasa un único conjunto de valores de parámetro al módulo Optimizar los hiperparámetros del modelo, cuando espera un intervalo de valores para cada parámetro, omite los valores y usa los valores predeterminados para el aprendiz.

    Si selecciona la opción Intervalo de parámetros y escribe un valor único para cualquier parámetro, ese valor único se usa a lo largo del barrido, incluso si otros parámetros cambian en un intervalo de valores.

  10. Ejecute el experimento.

Results

Una vez completado el entrenamiento:

  • Para ver el árbol que se creó en cada iteración, haga clic con el botón derecho en el módulo Train Model (Entrenar modelo) y seleccione Trained model (Modelo entrenado) para visualizarlo. Si usa Optimizar hiperparámetros del modelo, haga clic con el botón derecho en el módulo y seleccione Trained best model (Entrenar mejor modelo) para visualizar el mejor modelo.

    Haga clic en cada árbol para explorar en profundidad las divisiones y ver las reglas de cada nodo.

  • Para usar el modelo para la puntuación, conéctelo a Score Model (Modelo de puntuación) para predecir los valores de ejemplos de nuevas entradas.

  • Para guardar una instantánea del modelo entrenado, haga clic con el botón derecho en el resultado Trained model (Modelo entrenado) del módulo de entrenamiento y seleccione Save As (Guardar como). La copia del modelo entrenado que guarde no se actualiza en las ejecuciones sucesivas del experimento.

Ejemplos

Para obtener ejemplos de cómo se usan los árboles potenciados en el aprendizaje automático, consulte el Azure AI Gallery:

Notas técnicas

Esta sección contiene detalles de implementación, sugerencias y respuestas a las preguntas más frecuentes.

Sugerencia

En general, los árboles de decisión producen mejores resultados cuando las características están relacionadas de algún modo. Si las características tienen un alto grado de entropía (es decir, no están relacionadas), comparten poca o ninguna información mutua y ordenarlas en un árbol no producirá mucha importancia predictiva.

Detalles de la implementación

El conjunto de árboles se genera calculando, en cada paso, un árbol de regresión que aproxima el gradiente de la función de pérdida, agregándolo al árbol anterior con coeficientes que minimizan la pérdida del nuevo árbol. La salida del conjunto generado por MART en una instancia determinada es la suma de las salidas del árbol.

  • Para el problema de clasificación binaria, la salida se convierte en probabilidad mediante el uso de alguna forma de calibración.

  • Para problemas de regresión, la salida es el valor predicho de la función.

  • Para los problemas de clasificación, las instancias se ordenan por el valor de salida del conjunto.

Parámetros del módulo

Nombre Intervalo Tipo Valor predeterminado Descripción
Número máximo de hojas por árbol >=1 Entero 20 Especificar el número máximo de hojas por árbol
Número mínimo de muestras por nodo hoja >=1 Entero 10 Especificar el número mínimo de casos necesarios para formar un nodo hoja
Velocidad de aprendizaje [double.Epsilon;1.0] Float 0,2 Especificar la velocidad de aprendizaje inicial
Número total de árboles construidos >=1 Entero 100 Especificar el número máximo de árboles que se pueden crear durante el entrenamiento
Valor de inicialización de números aleatorios cualquiera Entero Proporcione un valor de inicialización para el generador de números aleatorios utilizado por el modelo. Déjelo en blanco para usar el valor predeterminado.
Permitir niveles de categorías desconocidos cualquiera Boolean true Si es true, crear un nivel adicional para cada columna de categoría. Los niveles del conjunto de datos de prueba no disponibles en el conjunto de datos de entrenamiento se asignan a este nivel adicional.

Salidas

Nombre Tipo Descripción
Modelo no entrenado Interfaz ILearner Un modelo de regresión no entrenado

Consulte también

Lista de módulos A-Z
Regresión