Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cuántos parámetros hay en el paquete xgboost de Python?

¿Cuántos parámetros hay en el paquete xgboost de Python?

Parámetros de XGBoost

Los parámetros de XGBoost se pueden dividir en tres tipos: parámetros regulares, parámetros de refuerzo y parámetros de destino de aprendizaje

Parámetros generales: estos parámetros controlan qué refuerzo para usar durante el refuerzo. Los impulsores de uso común incluyen modelos de árbol y modelos lineales.

Parámetros del booster: Depende del booster que se utilice.

Parámetros de la tarea de aprendizaje: estos parámetros controlan el escenario de aprendizaje; por ejemplo, en problemas de regresión, se utilizan diferentes parámetros para controlar la clasificación.

Además de los parámetros anteriores, también se pueden utilizar otros parámetros en la línea de comando

Parámetros generales

booster

:

La configuración final de eta suele ser 0,01~0,2

gamma

colsample_bytree

colsample_bytree [default=1]

Determinar cada vez Al particionar nodos, la proporción de submuestras

generalmente no se usa porque las submuestras y colsample_bytree tienen el mismo efecto

scale_pos_weight[default=0]

En los casos en que las clases estén muy desequilibradas, se puede utilizar un valor mayor que 0 ya que ayuda a acelerar la convergencia.

En caso de desequilibrio de clases, se puede utilizar un valor mayor que 0 ya que ayuda a una convergencia más rápida. Ayuda al modelo a converger más rápido

Parámetros de refuerzo lineal

¿lambda [default=0]?

Factor de penalización L2 regularizado

Se utiliza para manejar la parte de regularización de XGBoost. Generalmente no se usa, pero se puede usar para reducir el sobreajuste

¿Alfa [default=0]?

Factor de penalización L1 para la regularización

Se puede encontrar en Usado cuando la dimensionalidad de los datos es extremadamente alta, lo que hace que el algoritmo se ejecute más rápido.

lambda_bias?

Sesgo de regularización L2. El valor predeterminado es 0 (no hay regularidad para el término de sesgo en L1, porque el sesgo no es importante en L1)

Parámetros de tarea

objetivo [ default=reg: lineal ]

Defina la tarea de aprendizaje y el objetivo de aprendizaje correspondiente utilizando las siguientes funciones objetivo opcionales:

"reg: linear" - Regresión lineal.

"reg:logistic" - Regresión logística.

"binary:logistic" - Problema de regresión logística binaria, el resultado es una probabilidad.

"binary:logitraw" - Problema de regresión logística binaria con salida como wTx.

"count:poisson" - Regresión de Poisson para problemas de conteo, generando una distribución de Poisson.

El valor predeterminado de max_delta_step en la regresión de Poisson es 0,7 (para optimización de la protección)

"multi: softmax": permite que XGBoost utilice la función objetivo softmax para manejar problemas de clasificación múltiple y también necesita establecer el parámetro num_class (número de clases)

"multi:softprob" - Igual que softmax, pero la salida es un vector de ndata * nclass, que se puede transformar en una matriz de filas de ndata y nclass columnas. Cada fila de datos representa la probabilidad de que la muestra pertenezca a cada categoría.

"rank:pairwise" - Configura XGBoost para completar la tarea de clasificación minimizando la pérdida por pares

base_score [default=0.5]?

Predicción inicial para todos puntuación de instancias, sesgo global

eval_metric [predeterminado según el objetivo]?

Eval_metric [predeterminado según la configuración del objetivo]?

Eval_metric [predeterminado según la configuración del objetivo] ] Valor] se utiliza para los datos de calibración. Diferentes funciones objetivas tendrán indicadores de evaluación predeterminados (rmse para regresión, error para clasificación, precisión promedio para clasificación)

Los usuarios pueden agregar múltiples indicadores de evaluación. Para usuarios de Python, pase. los pares de parámetros al programa en forma de lista en lugar de mapear los parámetros de la lista de parámetros no anularán "eval_metric"

Seleccione lo siguiente:

"rmse": ?error cuadrático medio

"logloss": negativo?log-likelihood

"error":?Tasa de error de clasificación binaria. La fórmula de cálculo es #(casos de error)/#(todos los casos). Para las predicciones, la evaluación considerará instancias con valores predichos superiores a 0,5 como instancias positivas y otras instancias como instancias negativas.

"merror": Tasa de error de clasificación multiclase. La fórmula de cálculo es #(instancia de error)/#(todas las instancias).

"mlogloss": Pérdida de registros multiclase

"auc": Área bajo la curva utilizada para clasificación y evaluación.

"auc": Área bajo la curva utilizada para ranking y evaluación.

"ndcg": Ganancia acumulada descontada normalizada

"map": Precisión promedio

"ndcg@n", "map@n" : n puede ser se establece en un número entero para interceptar los primeros dígitos de la lista para su evaluación.

"ndcg-", "map-", "ndcg@n-", "map@n-": En XGBoost, NDCG y MAP evaluarán la puntuación de una lista sin muestras positivas como 1 . Al agregar "-" a la métrica de evaluación, XGBoost evaluará estas puntuaciones como 0 para que sean consistentes bajo ciertas condiciones.

¿Repetir entrenamiento

semilla [predeterminado=0]?

El número de números aleatorios. El valor predeterminado es 0

Se puede usar para producir resultados repetibles (obteniendo la misma división aleatoria usando la misma semilla cada vez)

Parámetros de la consola

Lo siguiente parámetros ¿Solo para la versión de consola de xgboost?

- Si se deben crear archivos de búfer binarios para la entrada para acelerar los cálculos. ¿El valor predeterminado es 1?

* num_ronda?

- El número de iteraciones de impulso calculadas.

* ¿datos?

- ¿Ruta a los datos de entrada?

* test:data?

- ¿Ruta a los datos de prueba?

* save_period [default=0]?

- Representado como i*save_period guarda iterativamente el modelo. Por ejemplo, save_period=10 significa que XGBoost guardará los resultados intermedios cada 10 iteraciones, y establecerlo en 0 significa guardar el modelo para cada cálculo.

* opciones de tarea [predeterminada=entrenar]: entrenar, pred, evaluar, volcar?

- entrenar: entrenar el modelo

- pred: ¿predecir los datos de prueba?

- eval: ¿Definir métricas de evaluación mediante eval[nombre]=filenam?

- volcado: ¿guardar el modelo de aprendizaje en formato de texto?

* model_in [default=NULL]?

-La ruta del modelo se usa para prueba, evaluación y volcado. Si se define en el entrenamiento, XGBoost usará el modelo de entrada para continuar. ¿capacitación?

* model_out [default=NULL]?

- La ruta para guardar el modelo después del entrenamiento. Si no está definida, generará algo como 0003.model (el resultado de. la tercera formación del modelo) contenido.

* model_dir [default=models]?

- Genera la ruta donde se almacena el modelo.

*fmap?

- ¿Mapa de características para el modelo de volcado?

* name_dump [default=dump.txt]?

- ¿Nombre del archivo de volcado del modelo?

* name_pred [default=pred.txt]?

- ¿Archivo de resultados de predicción?

* name_pred [default=pred.txt]?

* pred_margin [default=0]?

- Genera márgenes de predicción en lugar de probabilidades transformadas

Si está más acostumbrado a utilizar el formato de parámetros scikit-learn, la versión Python de XGBoost también proporciona una interfaz en formato sklearn: XGBClassifier. Utiliza nombres de parámetros en forma de sklearn y las relaciones correspondientes son:

eta -gt; learning_rate

lambda -gt; reg_lambda

alpha -gt; ; reg_alfa