GradientBoostingClassifier
Gradient Boosting classifier — sequential additive model with log-loss. / Gradient Boosting classifieur — modèle additif séquentiel avec log-loss.
import seraplot as sp
from sklearn.datasets import make_classification
X, y = make_classification(n_samples=500, n_features=10)
gb = sp.GradientBoostingClassifier(n_estimators=100, learning_rate=0.1)
gb.fit(X, y)
print(gb.score(X, y))
sp.GradientBoostingClassifier has the same API as sklearn.FR — Remplacement direct : même API que sklearn, changez l'import.
API Reference
ml_gradient_boosting_classifier — aliases: gradient_boosting_classifier, gb_cls
sp.GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, max_depth=3, min_samples_split=2, min_samples_leaf=1)
| Parameter | Type | Default | Description |
|---|---|---|---|
n_estimators | int | 100 | Number of boosting rounds. |
learning_rate | float | 0.1 | Shrinkage applied to each tree. |
max_depth | int | 3 | Maximum tree depth. |
min_samples_split | int | 2 | Min samples to split. |
min_samples_leaf | int | 1 | Min samples in leaf. |
JSON with predictions.
$$F_m(x) = F_{m-1}(x) + \eta \cdot h_m(x)$$
import seraplot as sp
from sklearn.datasets import make_classification
X, y = make_classification(n_samples=500, n_features=10)
gb = sp.GradientBoostingClassifier(n_estimators=100, learning_rate=0.1)
gb.fit(X, y)
print(gb.score(X, y))
Référence API
ml_gradient_boosting_classifier — alias : gradient_boosting_classifier, gb_cls
sp.GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, max_depth=3, min_samples_split=2, min_samples_leaf=1)
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
n_estimators | int | 100 | Nombre de tours de boosting. |
learning_rate | float | 0.1 | Shrinkage appliqué à chaque arbre. |
max_depth | int | 3 | Profondeur maximale de chaque arbre. |
min_samples_split | int | 2 | Min d'échantillons pour diviser. |
min_samples_leaf | int | 1 | Min d'échantillons en feuille. |
JSON avec predictions.
$$F_m(x) = F_{m-1}(x) + \eta \cdot h_m(x)$$
import seraplot as sp
from sklearn.datasets import make_classification
X, y = make_classification(n_samples=500, n_features=10)
gb = sp.GradientBoostingClassifier(n_estimators=100, learning_rate=0.1)
gb.fit(X, y)
print(gb.score(X, y))
GradientBoostingRegressor
Gradient Boosting regressor — sequential additive model minimising MSE. / Gradient Boosting régresseur — modèle additif séquentiel minimisant la MSE.
import seraplot as sp, numpy as np
X = np.random.randn(400, 5)
y = X[:, 0] ** 2 - X[:, 1] + np.random.randn(400) * 0.3
gb = sp.GradientBoostingRegressor(n_estimators=100, learning_rate=0.05)
gb.fit(X, y)
print(gb.score(X, y))
sp.GradientBoostingRegressor has the same API as sklearn.FR — Remplacement direct : même API que sklearn, changez l'import.
API Reference
ml_gradient_boosting_regressor — aliases: gradient_boosting_regressor, gb_reg
sp.GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, max_depth=3, min_samples_split=2, min_samples_leaf=1)
| Parameter | Type | Default | Description |
|---|---|---|---|
n_estimators | int | 100 | Number of boosting rounds. |
learning_rate | float | 0.1 | Shrinkage applied to each tree. |
max_depth | int | 3 | Maximum tree depth. |
min_samples_split | int | 2 | Min samples to split. |
min_samples_leaf | int | 1 | Min samples in leaf. |
JSON with predictions.
$$F_m(x) = F_{m-1}(x) + \eta \cdot h_m(x), \quad h_m = \arg\min_h \sum_i(r_i - h(x_i))^2$$
import seraplot as sp, numpy as np
X = np.random.randn(400, 5)
y = X[:, 0] ** 2 - X[:, 1] + np.random.randn(400) * 0.3
gb = sp.GradientBoostingRegressor(n_estimators=100, learning_rate=0.05)
gb.fit(X, y)
print(gb.score(X, y))
Référence API
ml_gradient_boosting_regressor — alias : gradient_boosting_regressor, gb_reg
sp.GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, max_depth=3, min_samples_split=2, min_samples_leaf=1)
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
n_estimators | int | 100 | Nombre de tours de boosting. |
learning_rate | float | 0.1 | Shrinkage appliqué à chaque arbre. |
max_depth | int | 3 | Profondeur maximale. |
min_samples_split | int | 2 | Min d'échantillons pour diviser. |
min_samples_leaf | int | 1 | Min d'échantillons en feuille. |
JSON avec predictions.
$$F_m(x) = F_{m-1}(x) + \eta \cdot h_m(x), \quad r_i = y_i - F_{m-1}(x_i)$$
import seraplot as sp, numpy as np
X = np.random.randn(400, 5)
y = X[:, 0] ** 2 - X[:, 1] + np.random.randn(400) * 0.3
gb = sp.GradientBoostingRegressor(n_estimators=100, learning_rate=0.05)
gb.fit(X, y)
print(gb.score(X, y))