Two-Class Boosted Decision Tree (Árbol de decisión ampliado de dos clases).

Crea un clasificador binario mediante un algoritmo de árbol de decisión impulsado

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

Nota

Se aplica a: machine learning Studio (clásico)

Este contenido solo pertenece a Studio (clásico). Se han agregado módulos similares de arrastrar y colocar al diseñador de Azure Machine Learning. Obtenga más información en este artículo comparativa de las dos versiones.

Información general sobre el módulo

En este artículo se describe cómo usar el módulo árbol de decisión impulsado de dos clases en Azure machine learning Studio (clásico) para crear un modelo de aprendizaje automático basado en el algoritmo de árboles de decisión impulsado.

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 información técnica, 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 impulsado podría no ser capaz de procesar los conjuntos de valores muy grandes que pueden controlar algunos aprendizajes lineales.

Para obtener más información sobre cómo elegir un algoritmo, vea estos recursos:

Cómo configurar Two-Class árbol de decisión impulsado

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 ajustar modelo de hiperparámetros .

  1. En Azure Machine Learning Studio (clásico), agregue el módulo de árbol de decisión impulsado al experimento.

  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): 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. Active la opción permitir niveles de categorías desconocidos 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.

    Si permite valores desconocidos, es posible que el modelo sea menos preciso para los valores conocidos, pero es probable que pueda proporcionar mejores predicciones para los valores nuevos (desconocidos).

  9. 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 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.

Ejemplos

Para ver ejemplos de cómo se usan los árboles de decisión impulsados en el aprendizaje automático, consulte la Azure AI Gallery:

  • Marketing directo: usa el algoritmo de árbol de decisión impulsado de dos clases para predecir el apetencia de los clientes.

  • Predicción de retrasos de vuelos: este ejemplo usa el algoritmo de árbol de decisión incrementado de dos clases para determinar si es probable que se retrase un vuelo.

  • Riesgode la tarjeta de crédito: este ejemplo usa el algoritmo de árbol de decisión ampliado de dos clases 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 impulsado, debe proporcionar varias instancias de datos. Se genera un error durante el proceso de entrenamiento si el conjunto de filas contiene demasiadas filas.

  • Si los datos tienen valores que faltan, 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, al ordenarlas en un árbol, no se produce mucha importancia predictiva. Si no es así, puede probar un modelo de bosques aleatorios.

    El aumento también funciona bien cuando hay muchos más ejemplos de características, ya que el modelo es propenso a sobreajuste.

  • No normalice el conjunto de DataSet. Dado que el tratamiento de las características es una comparación simple, no paramétrica, menor que o mayor que, la normalización o cualquier forma de función de transformación no monotónica podría tener un efecto reducido.

  • 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 implementación

Para obtener información detallada sobre el algoritmo de árbol de decisión impulsado, vea aproximación de funciones expansivas: máquinas de potenciación de gradiente.

El algoritmo de árbol de decisión impulsado en Azure Machine Learning utiliza el siguiente método de aumento:

  1. Comience con un conjunto vacío de aprendices débiles.

  2. En cada ejemplo de entrenamiento, obtenga la salida actual del conjunto. Se trata de la suma de las salidas de todos los aprendidos débiles en el conjunto.

  3. 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.

  4. Use los ejemplos para ajustarse a un aprendiz débil mediante el degradado que acaba de definir como la función de destino.

  5. 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 aprendidos débiles son los árboles de regresión menos 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.

  6. El algoritmo de creación de árbol selecciona 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 ninguna División válida disponible.

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

Consulta también

Nomenclatura
Regresión de árbol de decisión impulsado
Lista de módulos A-Z