내가 나무의 수를 증가로 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)