Jak zwiększyć liczbę drzew w scikit nauczyć „s GradientBoostingRegressor
, mam więcej negatywnych prognoz, choć nie ma wartości ujemne w moim szkolenia lub testowania zestawu. Mam około 10 funkcji, z których większość jest binarna.
Niektóre parametry, które tuningowałem to:
- liczba drzew / iteracji;
- głębokość uczenia się;
- i współczynnik uczenia się.
Procent wartości ujemnych wydawał się maksymalny przy ~ 2%. Wydaje się, że głębokość uczenia się 1 (pniaki) ma największy% wartości ujemnych. Odsetek ten również wydawał się zwiększać wraz z większą liczbą drzew i mniejszym wskaźnikiem nauki. Zestaw danych pochodzi z jednego z zawodów kaggle na placu zabaw.
Mój kod przypomina:
from sklearn.ensemble import GradientBoostingRegressor
X_train, X_test, y_train, y_test = train_test_split(X, y)
reg = GradientBoostingRegressor(n_estimators=8000, max_depth=1, loss = 'ls', learning_rate = .01)
reg.fit(X_train, y_train)
ypred = reg.predict(X_test)