当我的训练集中没有y负值时,为什么Gradient Boosting回归预测负值?
当我增加树木的数量在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)