Regresión rápida de bosque por cuantiles

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 por cuantiles

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 Fast Forest Quantile Regression en Machine Learning Studio (clásico) para crear un modelo de regresión que pueda predecir valores para un número especificado de cuantiles.

La regresión por cuantiles es útil si desea saber más acerca de la distribución del valor previsto, en lugar de obtener un valor de predicción medio único. Este método tiene muchas aplicaciones, como:

  • Predecir los precios

  • Estimar el rendimiento de estudiantes o aplicar gráficos de crecimiento para evaluar el desarrollo del niño

  • Detectar relaciones predictivas en casos donde hay solo una relación débil entre variables

Este algoritmo de regresión es un método de aprendizaje supervisado; es decir, requiere un conjunto de datos etiquetado, que incluya una columna de etiquetas. Dado que se trata de un algoritmo de regresión, la columna de etiquetas debe contener solo valores numéricos.

Más sobre la regresión por cuantiles

Hay muchos tipos diferentes de regresión. En el sentido más básico, la regresión consiste en ajustar un modelo a un destino expresado como un vector numérico. Pero los estadísticos llevan tiempo desarrollando métodos de regresión cada vez más avanzados.

La definición más sencilla de cuantil es un valor que divide un conjunto de datos en grupos de igual tamaño, y los valores de cuantiles marcan los límites entre los grupos. Estadísticamente hablando, los cuantiles son valores tomados a intervalos regulares desde el inverso de la función de distribución acumulativa (CDF) de una variable aleatoria.

Mientras que los modelos de regresión lineal intentan predecir el valor de una variable numérica usando una sola estimación, la media, a veces es necesario predecir el intervalo o la distribución completa de la variable de destino. Para estos fines, se han desarrollado técnicas, como la regresión bayesiana y la regresión por cuantiles.

La regresión por cuantiles le ayuda a comprender la distribución del valor de predicción. Los modelos de regresión por cuantiles basados en árbol, como el que se usa en este módulo, tienen la ventaja adicional de que se pueden usar para predecir las distribuciones no paramétricas.

Para obtener información adicional sobre la implementación y los recursos, consulte la sección Notas técnicas.

Cómo configurar la regresión Fast_Forest cuantiles

Las propiedades del modelo de regresión se configuran mediante este módulo y, a continuación, se entrenan mediante uno de los módulos de entrenamiento.

Los pasos de configuración varían considerablemente en función de si se proporciona un conjunto fijo de parámetros o se configura un barrido de parámetros.

Creación de un modelo de regresión cuantiles mediante parámetros fijos

Suponiendo que sabe cómo desea configurar el modelo, puede proporcionar un conjunto específico de valores como argumentos. Al entrenar el modelo, use Entrenar modelo.

  1. Agregue el módulo Fast Forest Quantile Regression al experimento en Studio (clásico).

  2. Establezca la opción Create trainer mode (Crear modo de instructor) en Single Parameter (Parámetro único).

  3. En Number of Trees (Número de árboles), escriba el número máximo de árboles que se pueden crear en el conjunto. Si crea más árboles, en general conseguirá una mayor precisión, pero a costa de un tiempo de entrenamiento mayor.

  4. En Number of Leaves (Número de hojas), escriba el número máximo de hojas o nodos terminales que se pueden crear en cualquier árbol.

  5. En Minimum number of training instances required to form a leaf (Número mínimo de instancias de entrenamiento necesarias para formar una hoja), especifique el número mínimo de ejemplos necesarios para crear cualquier 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 tendrían que contener al menos 5 casos que cumplan las mismas condiciones.

  6. Para la fracción de etiquetado, especifique un número entre 0 y 1 que represente la fracción de muestras que se usará al compilar cada grupo de cuantiles. Las muestras se eligen aleatoriamente, con reemplazo.

  7. En Fracción de características, escriba un número entre 0 y 1 que indique la fracción del total de características que se usarán al crear un árbol determinado. Las características siempre se eligen aleatoriamente.

  8. En Split fraction (Dividir fracción), escriba un número entre 0 y 1 que represente la fracción de características que se usará en cada división del árbol. Las características usadas siempre se eligen aleatoriamente.

  9. En Recuento de muestras cuantiles, escriba el número de casos que se evaluarán al calcular los cuantiles.

  10. Para calcular cuantiles, escriba una lista separada por comas de los cuantiles para los que desea que el modelo entrena y cree predicciones.

    Por ejemplo, si desea crear un modelo que calcule por cuantiles, escribiría 0.25, 0.5, 0.75.

  11. De manera opcional, escriba un valor en Valor de inicialización de números aleatorios para inicializar el generador de números aleatorios que usa el modelo. El valor predeterminado es 0, lo que significa que se elige un valor de inicialización aleatoria.

    Debe proporcionar un valor si necesita reproducir los resultados en ejecuciones sucesivas con los mismos datos.

  12. Seleccione la opción Permitir niveles de categorías desconocidos para crear un grupo para valores desconocidos.

    Si la desactiva, el modelo podrá aceptar únicamente los valores incluidos en los datos de entrenamiento.

    Si selecciona esta opción, el modelo podría ser menos preciso para los valores conocidos, pero puede proporcionar mejores predicciones para los nuevos valores (desconocidos).

  13. Conectar un conjunto de datos de entrenamiento, seleccione una sola columna de etiqueta y conecte Entrenar modelo.

  14. Ejecute el experimento.

Uso de un barrido de parámetros para crear un modelo de regresión cuantiles

Si no está seguro de los parámetros óptimos para el modelo, puede configurar un barrido de parámetros y proporcionar un intervalo de valores como argumentos. Al entrenar el modelo, use el módulo Optimizar hiperparámetros del modelo.

  1. Agregue el módulo Fast Forest Quantile Regression al experimento en Studio (clásico).

  2. Establezca la opción Create trainer mode (Crear modo de entrenador) en Parameter Range (Intervalo de parámetros).

    Se recomienda un barrido de parámetros si no está seguro de los mejores parámetros. Al especificar varios valores y usar el módulo Optimizar hiperparámetros del modelo para entrenar el modelo, puede encontrar el conjunto óptimo de parámetros para los datos.

    Después de elegir un barrido de parámetros, para cada propiedad que se puede ajustar, puede establecer un valor único o varios valores. Por ejemplo, puede decidir corregir el número de árboles, pero cambiar aleatoriamente otros valores que controlan la forma en que se genera cada árbol.

    • Si escribe un valor único, ese valor se usa en todas las iteraciones del barrido, incluso si cambian otros valores.

    • Escriba una lista separada por comas de valores discretos que se usarán. Estos valores se usan en combinación con otras propiedades.

    • Use el Generador de intervalos para definir un intervalo de valores continuos.

    Durante el proceso de entrenamiento, el módulo Optimizar hiperparámetros del modelo recorre en iteración varias combinaciones de los valores para crear el mejor modelo.

  3. En Número máximo de hojas por árbol, escriba el número total de hojas o nodos terminales que se permitirán en cada árbol.

  4. En Number of trees constructed (Número de árboles construidos), escriba el número de iteraciones que se realizarán al construir el conjunto. Al crear más árboles, puede obtener una mejor cobertura, a costa de un mayor tiempo de entrenamiento.

  5. En Minimum number of sample per leaf node (Número mínimo de muestras por nodo hoja), indique cuántos casos se necesitan para crear un nodo hoja.

    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.

  6. En Intervalo para la fracción de etiquetado, escriba la fracción de muestras que se va a usar al compilar cada grupo de cuantiles. Las muestras se eligen aleatoriamente, con reemplazo.

    Cada fracción debe ser un número entre 0 y 1. Separe varias fracciones mediante comas.

  7. En Intervalo para la fracción de características, escriba la fracción del total de características que se va a usar al compilar cada grupo de cuantiles. Las características se eligen aleatoriamente.

    Cada fracción debe ser un número entre 0 y 1; separar varias fracciones mediante comas.

  8. En Intervalo para la fracción dividida, especifique alguna fracción de características que se van a usar en cada grupo de cuantiles. Las características reales usadas se eligen aleatoriamente.

    Cada fracción debe ser un número entre 0 y 1; separar varias fracciones mediante comas.

  9. En Recuento de muestras usado para calcular los cuantiles, indique cuántas muestras se deben evaluar al calcular los cuantiles. Si escribe un número mayor que el número de muestras disponibles, se usan todas las muestras.

  10. En Valores de cuantiles requeridos, escriba una lista separada por comas de los cuantiles en los que desea que se entrena el modelo. Por ejemplo, si desea crear un modelo que calcula cuartiles, escribiría '0,25, 0,5, 0,75

  11. En Random number seed (Valor de ed. aleatorio), escriba un valor para seed the random number generator used by the model (Generador de números aleatorios usado por el modelo). El uso de un valor de inicialización es útil para la reproducción de ejecuciones duplicadas.

    El valor predeterminado es 0, lo que significa que se elige un valor de inicialización aleatoria.

  12. Seleccione la opción Permitir valores desconocidos para las características categóricas para crear un grupo de valores desconocidos en los conjuntos de entrenamiento o validación.

    Si desactiva esta opción, el modelo puede aceptar únicamente los valores que se encuentran en los datos de entrenamiento.

    Si selecciona esta opción, el modelo podría ser menos preciso para los valores conocidos, pero puede proporcionar mejores predicciones para los nuevos valores (desconocidos).

  13. Conectar un conjunto de datos de entrenamiento, seleccione la columna de etiqueta y conecte el módulo Optimizar hiperparámetros del modelo.

    Nota:

    No use Entrenar modelo. Si configura un intervalo de parámetros pero se entrena mediante Entrenar modelo, solo usa el primer valor de la lista de intervalos de parámetros.

  14. Ejecute el experimento.

Results

Una vez completado el entrenamiento:

Ejemplos

Para obtener ejemplos de cómo usar este módulo, vea el Azure AI Gallery:

  • Regresión cuantiles: muestra cómo crear e interpretar un modelo de regresión cuantiles mediante el conjunto de datos de precios automático.

Notas técnicas

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

Detalles de la implementación

El módulo Fast Forest Quantile Regression de Machine Learning es una implementación de la regresión de cuantiles de bosque aleatoria mediante árboles de decisión. Los bosques aleatorios pueden ser útiles para evitar el sobreajuste que puede producirse con árboles de decisión. Un árbol de decisión es un diagrama de flujo de árbol binario, donde en cada nodo interior, uno decide con cuál de los dos nodos secundarios continuar, basado en el valor de una de las características de entrada.

En cada nodo hoja, se devuelve un valor. En los nodos interiores, la decisión se basa en la prueba ''x≤v', donde x es el valor de la característica en el ejemplo de entrada y v es uno de los valores posibles de esta característica. Las funciones que puede producir un árbol de regresión son todas las funciones constantes definidas a trozos.

En un bosque aleatorio, se crea un conjunto de árboles mediante el etiquetado para seleccionar un subconjunto de muestras aleatorias y características de los datos de entrenamiento y, a continuación, ajustar un árbol de decisión a cada subconjunto de datos. Al contrario que el algoritmo de bosque aleatorio, que calcula el promedio de la salida de todos los árboles, Regresión rápida de bosque por cuantiles mantiene todas las etiquetas de predicción en árboles especificados por el parámetro Recuento de muestras de cuantiles y genera la distribución, para que el usuario pueda ver los valores de cuantiles de la instancia determinada.

Para más información sobre la regresión cuantiles, consulte estos libros y artículos:

Parámetros del módulo

Nombre Tipo Intervalo Opcional Descripción Valor predeterminado
Crear el modo de entrenador CreateLearnerMode List:Single Parameter|Parameter Range Obligatorio Parámetro único Crear opciones de aprendiz avanzadas
Número de árboles Entero mode:Single Parameter 100 Especifica el número de árboles que se construirán.
Número de hojas Entero mode:Single Parameter 20 Especifica el número máximo de hojas por árbol. El número predeterminado es 20
Número mínimo de instancias de aprendizaje necesarias para formar una hoja Entero mode:Single Parameter 10 Indica el número mínimo de instancias de aprendizaje necesario para formar una hoja
Fracción de ensacado Float mode:Single Parameter 0.7 Especifica la fracción de los datos de aprendizaje que se usarán para cada árbol
Fracción de características Float mode:Single Parameter 0.7 Especifica la fracción de características (elegida aleatoriamente) que se usará para cada árbol
Fracción de división Float mode:Single Parameter 0.7 Especifica la fracción de características (elegida aleatoriamente) que se usará para cada división
Recuento de muestras de cuantiles Entero Máx.: 2147483647 mode:Single Parameter 100 Especifica el número de instancias usadas en cada nodo para estimar los cuantiles
Cuantiles que se calcularán String mode:Single Parameter "0.25;0.5;0.75" Especifica el cuantil que se estimará
Valor de inicialización de números aleatorios Entero Opcional 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 Boolean Obligatorio 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.
Número máximo de hojas por árbol ParameterRangeSettings [16;128] mode:Parameter Range 16; 32; 64 Especifica el número máximo de hojas permitidas por árbol
Número de árboles construidos ParameterRangeSettings [1;256] mode:Parameter Range 16; 32; 64 Especifica el intervalo del número máximo de árboles que se pueden crear durante el aprendizaje
Número mínimo de muestras por nodo hoja ParameterRangeSettings [1;10] mode:Parameter Range 1; 5; 10 Especifica el intervalo del número mínimo de casos necesarios para formar una hoja
Intervalo de fracción de bagging ParameterRangeSettings [0.25;1.0] mode:Parameter Range 0.25; 0.5; 0.75 Especifica el intervalo de la fracción de los datos de aprendizaje que se usará para cada árbol
Intervalo de fracción de características ParameterRangeSettings [0.25;1.0] mode:Parameter Range 0.25; 0.5; 0.75 Especifica el intervalo de la fracción de características (elegido aleatoriamente) que se usará para cada árbol
Intervalo de fracción de división ParameterRangeSettings [0.25;1.0] mode:Parameter Range 0.25; 0.5; 0.75 Especifica el intervalo de la fracción de características (elegido aleatoriamente) que se usará para cada división
Número de muestras que se usa para estimar los cuantiles Entero mode:Parameter Range 100 Número de muestras que se usa para estimar los cuantiles
Valores de cuantil necesarios String mode:Parameter Range "0.25;0.5;0.75" Valor de cuantil necesario durante el barrido de parámetros

Salidas

Nombre Tipo Descripción
Modelo no entrenado Interfaz ILearner Un modelo de regresión por cuantiles no entrenado que se puede conectar a los módulos Entrenar modelo genérico o Modelo de validación cruzada.

Consulte también

Regresión