Two-Class Boosted Decision Tree (Árbol de decisión ampliado de dos clases).
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 clasificador binario mediante un algoritmo de árbol de decisión impulsado
Categoría: Machine Learning/ Inicializar modelo/Clasificació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 Two-Class Boosted Decision Tree en Machine Learning Studio (clásico) para crear un modelo de aprendizaje automático basado en el algoritmo de árboles de decisión potenciados.
Un árbol de decisión ampliado es un método de aprendizaje de conjuntos en que el segundo árbol corrige los errores del primer árbol, el tercer árbol corrige los errores del primer y del segundo árbol y así sucesivamente. Las predicciones se basan en el conjunto completo de árboles juntos que establecen la predicción. Para obtener más detalles técnicos, consulte la sección Investigación de este artículo.
Por lo general, cuando se configuran correctamente, los árboles de decisión ampliados son los métodos más sencillos para obtener el máximo rendimiento en una amplia variedad de tareas de aprendizaje automático. Sin embargo, también son uno de los elementos aprendices que consumen más recursos de memoria y la implementación actual retiene todo en la memoria. Por lo tanto, un modelo de árbol de decisión potenciado podría no ser capaz de procesar los conjuntos de datos muy grandes que algunos aprendices lineales pueden controlar.
Cómo configurar un Two-Class de decisión potenciado
En este módulo se crea un modelo de clasificación no entrenado. Dado que la clasificación es un método de aprendizaje supervisado, para entrenar el modelo, necesita un conjunto de datos etiquetado que incluye una columna de etiqueta con un valor para todas las filas.
Puede entrenar este tipo de modelo mediante los módulos Entrenar modelo o Optimizar hiperparámetros del modelo.
En Machine Learning Studio (clásico), agregue el módulo Árbol de decisión potenciado al experimento.
Especifique cómo quiere que se entrene el modelo, estableciendo la opción Create trainer mode (Crear modo entrenador).
Single Parameter (Parámetro único): Si sabe cómo quiere configurar el modelo, puede proporcionar un conjunto específico de valores como argumentos.
Parameter Range (Intervalo de parámetros): si no está seguro de los mejores parámetros, puede encontrar los óptimos mediante el módulo Optimización de hiperparámetros de un modelo. Proporcione un rango de valores y el entrenador itera varias combinaciones de ellos para determinar la combinación de valores que genera el mejor resultado.
En 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.
En Número mínimo de muestras por nodo hoja, indique el número de casos necesario 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 tienen que contener, como mínimo, cinco casos que cumplan las mismas condiciones.
En 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.
En Número de árboles construidos, indique el número total de árboles de decisión que se van a crear en el conjunto. Si crea más árboles de decisión, puede obtener una cobertura potencialmente mejor, pero aumentará el tiempo de entrenamiento.
Este valor también controla el número de árboles que se muestran al visualizar el modelo entrenado. Si quiere ver o imprimir un único árbol, establezca el valor en 1. Sin embargo, al hacerlo, solo se produce un único árbol (el árbol con el conjunto inicial de parámetros) y no se realizan iteraciones adicionales.
En Inicialización con número aleatorio, escriba opcionalmente un número entero no negativo 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. Las ejecuciones sucesivas, con un valor de inicialización aleatorio, pueden tener resultados diferentes.
Seleccione la opción Permitir niveles de categorías desconocidos 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.
Si permite valores desconocidos, el modelo podría ser menos preciso para los valores conocidos, pero es probable que pueda proporcionar mejores predicciones para los nuevos valores (desconocidos).
Entrene el modelo.
Si establece Create trainer mode (Crear modo entrenador) en Single Parameter (Parámetro único), conecte un conjunto de datos etiquetado y el módulo Entrenar modelo.
Si establece Create trainer mode (Crear el modo de entrenador) en Parameter Range (Intervalo de parámetros), conecte un conjunto de datos etiquetado y entrene el modelo mediante Tune Model Hyperparameters (Optimizar los hiperparámetros del modelo).
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 Tune Model Hyperparameters (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 Parameter Range (Intervalo de parámetros) y especifica un valor único para algún parámetro, ese valor único que haya especificado se utilizará en todo el barrido, incluso si otros parámetros cambian en un intervalo de valores.
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 Entrenar modelo y seleccione 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 (Mejor modelo 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.
Ejemplos
Para obtener ejemplos de cómo se usan los árboles de decisión potenciados en el aprendizaje automático, consulte el Azure AI Gallery:
Marketing directo: usa el algoritmo árbol de decisión potenciado de dos clases para predecir la latencia del cliente.
Predicción de retraso de vuelos: en este ejemplo se usa el algoritmo two-class Boosted Decision Tree para determinar si es probable que un vuelo se retrase.
Riesgo de tarjeta de crédito: en este ejemplo se usa el algoritmo Two-Class Boosted Decision Tree para predecir el riesgo.
Notas técnicas
Esta sección contiene detalles de implementación y preguntas más frecuentes.
Consejos de uso
Para entrenar un modelo de árbol de decisión potenciado, debe proporcionar varias instancias de datos. Se genera un error durante el proceso de entrenamiento si el conjunto de datos contiene demasiadas filas.
Si faltan valores en los datos, debe agregar indicadores para las características.
En general, los árboles de decisión incrementados producen mejores resultados cuando las características están relacionadas de algún modo. Si las características tienen un gran grado de entropía (es decir, no están relacionadas), comparten poca o ninguna información mutua y ordenarlas en un árbol no produce mucha importancia predictiva. Si este no es el caso, puede probar un modelo de bosques aleatorios.
La potenciación también funciona bien cuando tiene muchos más ejemplos que características porque el modelo es propenso a sobreajuste.
No normalice el conjunto de datos. Dado que el tratamiento de las características es una comparación simple, no paramétrica, menor o mayor que, la normalización o cualquier forma de función de transformación no monotónica podría tener poco efecto.
Las características se discretizan y se ubican antes del entrenamiento, por lo que solo se tiene en cuenta un conjunto relativamente pequeño de candidatos a umbrales, incluso para las características continuas.
Detalles de la implementación
Para obtener información detallada sobre el algoritmo de árbol de decisión potenciado, vea Greedy Function Approximation: A Gradient Boosting Machines.
El algoritmo de árbol de decisión potenciado Machine Learning usa el siguiente método de potenciación:
Comience con un conjunto vacío de aprendices débiles.
En cada ejemplo de entrenamiento, obtenga la salida actual del conjunto. Esta es la suma de las salidas de todos los aprendizajes débiles del conjunto.
Calcule el degradado de la función de pérdida para cada ejemplo.
Esto depende de si la tarea es un problema de clasificación binaria o un problema de regresión.
En un modelo de clasificación binaria se utiliza la pérdida logarítmica, muy parecida a la regresión logística.
En un modelo de regresión se usa la pérdida cuadrática; el gradiente es el resultado actual menos el destino.
Use los ejemplos para ajustarse a un aprendiz débil, usando el degradado que se acaba de definir como función de destino.
Agregue el aprendiz débil al conjunto con la seguridad indicada por la velocidad de aprendizaje y, si quiere, vaya al paso 2.
En esta implementación, los aprendices débiles son los árboles de regresión de mínimos cuadrados, en función de los degradados calculados en el paso 3. Los árboles están sujetos a las restricciones siguientes:
Están entrenados hasta un número máximo de hojas.
Cada hoja tiene un número mínimo de ejemplos para protegerse contra el sobreajuste.
Cada nodo de decisión es una característica única que se compara con un determinado umbral. Si esa característica es menor o igual que el umbral, baja por una ruta de acceso y, si es mayor que el umbral, baja por la otra ruta de acceso.
Cada nodo hoja es un valor constante.
El algoritmo de creación de árboles selecciona de forma expansión la característica y el umbral para los que una división minimiza la pérdida cuadrada con respecto al degradado calculado en el paso 3. La selección de la división está sujeta a un número mínimo de ejemplos de entrenamiento por hoja.
El algoritmo se divide repetidamente hasta que alcanza el número máximo de hojas o hasta que no hay disponible ninguna división válida.
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 permitidas 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 una hoja. |
Velocidad de aprendizaje | [double.Epsilon;1.0] | Float | 0,2 | Especificar la velocidad de aprendizaje inicial |
Número 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 | Any | Entero | Escriba un valor para inicializar el generador de números aleatorios que utiliza el modelo. Déjelo en blanco para usar el valor predeterminado. | |
Permitir niveles de categorías desconocidos | Any | Boolean | True | Si es verdadero, se crea un nivel adicional por cada columna de categorías. Los niveles del conjunto de datos de prueba que no están disponibles en el conjunto de datos de entrenamiento se asignan a este nivel adicional. |
Output
Nombre | Tipo | Descripción |
---|---|---|
Modelo no entrenado | Interfaz ILearner | Un modelo de clasificación binaria no entrenado |
Consulte también
Clasificación
Boosted Decision Tree Regression (Regresión del árbol de decisión ampliado)
Lista de módulos A-Z