ในขณะที่ฉันเพิ่มจำนวนต้นไม้ใน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)