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.
- Consulte la información acerca de traslado de proyectos de aprendizaje automático de ML Studio (clásico) a Azure Machine Learning.
- Más información sobre Azure Machine Learning.
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.
Para crear un modelo de regresión cuantiles mediante parámetros fijos
Para crear un modelo de regresión cuantiles mediante 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.
Agregue el módulo Fast Forest Quantile Regression al experimento en Studio (clásico).
Establezca la opción Create trainer mode (Crear modo de instructor) en Single Parameter (Parámetro único).
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.
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.
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.
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.
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.
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.
En Recuento de muestras cuantiles, escriba el número de casos que se evaluarán al calcular los cuantiles.
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
.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.
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).
Conectar un conjunto de datos de entrenamiento, seleccione una sola columna de etiqueta y conecte Entrenar modelo.
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.
Agregue el módulo Fast Forest Quantile Regression al experimento en Studio (clásico).
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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).
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.
Ejecute el experimento.
Results
Una vez completado el entrenamiento:
- Para ver los hiperparámetros finales del modelo optimizado, haga clic con el botón derecho en la salida de Optimizar hiperparámetros del modelo y seleccione Visualizar.
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.
Investigación relacionada
Para más información sobre la regresión cuantiles, consulte estos libros y artículos:
Quantile Regression Forests. Nicolai Meinshausen
http://jmlr.org/papers/volume7/meinshausen06a/meinshausen06a.pdf
Random forests. Leo Breiman.
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. |