मैं पेड़ों की संख्या में वृद्धि के रूप में में scikit जानने की GradientBoostingRegressor
, मैं और अधिक नकारात्मक पूर्वानुमान प्राप्त करें, भले ही वहाँ मेरे प्रशिक्षण या सेट परीक्षण में कोई नकारात्मक मान हैं। मेरे पास लगभग 10 विशेषताएं हैं, जिनमें से अधिकांश बाइनरी हैं।
कुछ पैरामीटर जो मैं ट्यूनिंग कर रहा था:
- पेड़ों / पुनरावृत्तियों की संख्या;
- गहराई सीखना;
- और सीखने की दर।
नकारात्मक मानों का प्रतिशत अधिकतम ~ 2% था। 1 (स्टंप) की सीखने की गहराई नकारात्मक मानों का सबसे बड़ा% थी। यह प्रतिशत भी अधिक पेड़ों और एक छोटे सीखने की दर के साथ बढ़ा हुआ लग रहा था। डेटासेट एक केगल खेल के मैदान की प्रतियोगिताओं में से एक है।
मेरा कोड कुछ इस तरह है:
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)