Regresión de árbol de decisión incrementado

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

Categoría: machine learning/inicializar modelo/regresión

Nota

Se aplica a: Machine Learning Studio (clásico) solamente

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 de regresión de árbol de decisión impulsado en Azure machine learning Studio (clásico) para crear un conjunto de árboles de regresión mediante el aumento. 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.

Una vez definido el modelo, debe entrenarlo mediante los módulos entrenar modelo o ajustar los 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 entrenar modelo (o el módulo ajustar los 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 Azure Machine Learning Studio (clásico), los árboles de decisión impulsados utilizan una implementación eficaz del algoritmo de impulso 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 potenciado) 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 ingle, 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 de 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 especifica un valor único para cualquier parámetro, se utiliza ese valor único 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 entrenar modelo módulo y seleccione modelo entrenado para visualizar. Si usa los hiperparámetros del modelo de optimización, haga clic con el botón secundario en el módulo y seleccione modelo mejor entrenado 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 ver ejemplos de cómo se usan los árboles impulsados en el aprendizaje automático, consulte la Azure AI Gallery:

  • Estimaciónde la demanda: utiliza la regresión de árbol de decisión impulsado para predecir el número de alquileres durante un tiempo determinado.

  • Análisis de opiniones de Twitter: usa la regresión para generar una clasificación de predicción.

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.

  • En el caso de 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

Consulta también

Lista de módulos a-Z
Regresión