import numpy as np
from sklearn.ensemble import GradientBoostingRegressor
# 1. Data
X = np.array([[1], [2], [3], [4], [5]])
y = np.array([1.1, 1.9, 3.2, 4.1, 5.2]) # Pola Linear + Noise
# 2. Buat Model Boosting
# n_estimators=100 : 100 pohon estafet
# learning_rate=0.1 : Langkah kecil biar detail
# max_depth=1 : Pohonnya pendek-pendek (Decision Stump) biasanya cukup
gbr = GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, max_depth=1, random_state=42)
# 3. Training
gbr.fit(X, y)
# 4. Prediksi
print("Prediksi untuk X=6:", gbr.predict([[6]]))
# 5. Tips Pro
# Untuk data tabular besar, Data Scientist biasanya pakai library khusus:
# - XGBoost (eXtreme Gradient Boosting)
# - LightGBM (Microsoft)
# - CatBoost (Yandex)
# Karena lebih cepat dan punya fitur canggih dibanding sklearn standar.