Como eu aumentar o número de árvores em scikit aprender 's GradientBoostingRegressor
, eu recebo previsões mais negativas, mesmo que não existem valores negativos em meu treinamento ou testar set. Eu tenho cerca de 10 recursos, a maioria dos quais são binários.
Alguns dos parâmetros que eu estava ajustando foram:
- o número de árvores / iterações;
- profundidade de aprendizagem;
- e taxa de aprendizado.
A porcentagem de valores negativos parecia máxima em ~ 2%. A profundidade de aprendizado de 1 (tocos) parecia ter o maior% de valores negativos. Esse percentual também parecia aumentar com mais árvores e uma menor taxa de aprendizado. O conjunto de dados é de uma das competições do playground kaggle.
Meu código é algo como:
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)