CatBoost hiperparámetros - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

CatBoost hiperparámetros

La siguiente tabla contiene el subconjunto de hiperparámetros que se requieren o se utilizan con más frecuencia para el algoritmo de Amazon SageMaker CatBoost . Los usuarios establecen estos parámetros para facilitar la estimación de los parámetros del modelo a partir de los datos. El SageMaker CatBoost algoritmo es una implementación del paquete de código abierto CatBoost.

nota

Los hiperparámetros predeterminados se basan en conjuntos de datos de ejemplo de CatBoost cuadernos de muestra.

De forma predeterminada, el SageMaker CatBoost algoritmo elige automáticamente una métrica de evaluación y una función de pérdida en función del tipo de problema de clasificación. El CatBoost algoritmo detecta el tipo de problema de clasificación en función del número de etiquetas de los datos. Para los problemas de regresión, las funciones de pérdida y métrica de evaluación son la raíz del error cuadrático medio. Para los problemas de clasificación binaria, la métrica de evaluación es el área bajo la curva (AUC) y la función de pérdida es la pérdida logarítmica. Para los problemas de clasificación multiclase, la métrica de evaluación y las funciones de pérdida son la entropía cruzada multiclase. Puede usar el hiperparámetro eval_metric para cambiar la métrica de evaluación predeterminada. Consulte la siguiente tabla para obtener más información sobre GBM los hiperparámetros de la luz, incluidas las descripciones, los valores válidos y los valores predeterminados.

Nombre del parámetro Descripción
iterations

La cantidad máxima de árboles que se puede construir.

Valores válidos: entero positivo.

Valor predeterminado: 500.

early_stopping_rounds

El entrenamiento se detendrá si una métrica de un punto de datos de validación no mejora en la última ronda early_stopping_rounds. Si early_stopping_rounds es inferior o igual a cero, se omite este hiperparámetro.

Valores válidos: número entero

Valor predeterminado: 5.

eval_metric

Métricas de evaluación de los datos de validación. Si eval_metric se establece en el valor "auto" predeterminado, el algoritmo elige automáticamente una métrica de evaluación en función del tipo de problema de clasificación:

  • "RMSE" para la regresión

  • "AUC" para la clasificación binaria

  • "MultiClass" para la clasificación multiclase

Valores válidos: cadena; consulte la CatBoost documentación para ver los valores válidos.

Valor predeterminado: "auto".

learning_rate

La velocidad a la que se actualizan los pesos del modelo después de pasar por cada lote de ejemplos de entrenamiento.

Valores válidos: flotante, rango (0.0, 1.0).

Valor predeterminado: 0.009.

depth

Profundidad del árbol.

Valores válidos: entero, rango (1, 16).

Valor predeterminado: 6.

l2_leaf_reg

Coeficiente del término de regularización L2 de la función de coste.

Valores válidos: entero positivo.

Valor predeterminado: 3.

random_strength

La cantidad de asignación al azar que se utilizará para puntuar las divisiones cuando se selecciona la estructura de árbol. Utilice este parámetro para evitar sobreajustar el modelo.

Valores válidos: flotante, rango (número de coma flotante positivo).

Valor predeterminado: 1.0.

max_leaves

El número máximo de hojas en el árbol resultante. Solo se puede usar con la política de cultivo "Lossguide".

Valores válidos: entero, rango [2, 64].

Valor predeterminado: 31.

rsm

Método de subespacio aleatorio. El porcentaje de características que se van a utilizar en cada selección dividida cuando las características se vuelven a seleccionar de forma aleatoria.

Valores válidos: flotante, rango (0.0, 1.0).

Valor predeterminado: 1.0.

sampling_frequency

Frecuencia con la que tomar muestras de ponderaciones y objetos al construir árboles.

Valores válidos: cadena ("PerTreeLevel" o "PerTree").

Valor predeterminado: "PerTreeLevel".

min_data_in_leaf

El número mínimo de muestras de entrenamiento en una hoja. CatBoost no busca nuevas divisiones en las hojas con un recuento de muestras inferior al valor especificado. Solo se puede usar con las políticas de cultivo "Lossguide" y "Depthwise".

Valores válidos: entero, rango (1 o ).

Valor predeterminado: 1.

bagging_temperature

Define la configuración del arranque bayesiano. Use el arranque bayesiano para asignar ponderaciones aleatorias a los objetos. Si bagging_temperature se establece en 1.0, las ponderaciones se muestrean a partir de una distribución exponencial. Si bagging_temperature se establece en 0.0, todas las ponderaciones serán 1,0.

Valores válidos: número flotante no negativo.

Valor predeterminado: 1.0.

boosting_type

El esquema de potenciación. “Automático” significa que boosting_type se selecciona en función del tipo de unidad de procesamiento, el número de objetos del conjunto de datos de entrenamiento y el modo de aprendizaje seleccionado.

Valores válidos: cadena ("Auto", "Ordered" o "Plain").

Valor predeterminado: "Auto".

scale_pos_weight

La ponderación de la clase positiva en la clasificación binaria. El valor se utiliza como multiplicador de las ponderaciones de los objetos de clase positiva.

Valores válidos: número flotante positivo.

Valor predeterminado: 1.0.

max_bin

El número de divisiones de las características numéricas. "Auto" significa que max_bin se selecciona en función del tipo de unidad de procesamiento y otros parámetros. Para obtener más información, consulte la CatBoost documentación.

Valores válidos: cadena ("Auto" o cadena de números enteros desde "1" hasta "65535", ambos incluidos).

Valor predeterminado: "Auto".

grow_policy

Política de cultivo de árboles. Define cómo llevar a cabo una construcción ambiciosa de árboles.

Valores válidos: cadena ("SymmetricTree", "Depthwise" o "Lossguide").

Valor predeterminado: "SymmetricTree".

random_seed

La semilla aleatoria utilizada para el entrenamiento.

Valores válidos: número entero no negativo.

Valor predeterminado: 1.0.

thread_count

La cantidad de subprocesos que se va a utilizar durante el entrenamiento. Si thread_count es -1, la cantidad de subprocesos es igual a la cantidad de núcleos de procesador. thread_count no puede ser 0.

Valores válidos: un número entero (-1 o un entero positivo).

Valor predeterminado: -1.

verbose

La verbosidad de los mensajes de impresión; los niveles más altos corresponden a declaraciones de impresión más detalladas.

Valores válidos: entero positivo.

Valor predeterminado: 1.