当我增加树木的数量在scikit学习的GradientBoostingRegressor
,我得到更多的负面预测,即使在我的训练或测试组没有负值。我有大约10个功能,其中大多数是二进制的。
我正在调整的一些参数是:
- 树木/迭代次数;
- 学习深度;
- 和学习率。
负值的百分比似乎最大约为2%。1(树桩)的学习深度似乎是负值的最大百分比。随着树木的增多和学习率的降低,这一百分比似乎也有所增加。该数据集来自kaggle游乐场比赛之一。
我的代码是这样的:
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)