hiperparametry Extreme Gradient Boosting

Oto niektóre z hiperparametrów XGBoost Classifier dostępnych w bibliotece scikit-learn:

  • booster – określa, jaki rodzaj boostera (silnika) użyć do trenowania modelu. Dostępne opcje to: “gbtree” (drzewa decyzyjne), “gblinear” (liniowe modele) i “dart” (drzewa z możliwością usuwania i dodawania węzłów).
  • learning_rate – określa współczynnik uczenia, czyli jak szybko model będzie uczyć się z danych. Wartość zbyt duża spowoduje, że model szybko nadmiernie dopasuję się do danych, a zbyt mała spowoduje, że model będzie uczył się zbyt wolno.
  • n_estimators – określa ilość drzew decyzyjnych w modelu. Im więcej drzew, tym model będzie dokładniejszy, ale ryzyko przetrenowania też będzie większe.
  • max_depth – określa maksymalną głębokość drzew decyzyjnych w modelu.
  • min_child_weight – określa minimalną sumę wag potomstwa, które musi posiadać węzeł, by mógł być dalej rozgałęziony. Ustawienie tego parametru na wyższe wartości zmniejsza ryzyko przetrenowania.
  • gamma – określa maksymalne zmniejszenie błędu, jakie musi dokonać się przy rozgałęzieniu węzła. Im większa wartość, tym bardziej zabezpiecza to model przed przetrenowaniem, ale może też spowodować, że model będzie mniej dokładny.
  • subsample – określa, ile procent danych treningowych ma być użyte do trenowania pojedynczego drzewa. Ustawienie tego parametru na wartość mniejszą niż 1 spowoduje, że każde drzewo będzie trenowane na losowo wybranej próbce danych, co może zmniejszyć ryzyko przetrenowania.
  • colsample_bytree – podobnie jak subsample, ale dotyczy ilości cech, a nie próbek danych.
  • reg_alpha – określa siłę regularyzacji l1 (Lasso). Wartość większa niż 0 spowoduje zmniejszenie wpływu niektórych cech na model.
  • reg_lambda – określa siłę regularyzacji l2 (Ridge). Wartość większa niż 0 spowoduje zmniejszenie wpływu niektórych cech na model.