# DecisionTreeRegressor under the hood of GradientBoostingClassifier

I'm inspecting the weak estimators of my GradientBoostingClassifier model. This model was fit on a binary class dataset.

I noticed that all the weak estimators under this ensemble classifier are decision tree regressor objects. This seems strange to me intuitively.

I took the first decision tree in the ensemble and used it to predict independently on my entire dataset. The unique answers from the dataset were the following:

array([-2.74, -1.94, -1.69, ...])


My question is: why and how does the gradient boosting classifier turn the weak estimators into regressor tasks (instead of classification tasks) that are not bound by 0 and 1? Ultimately the GradientBoostingClassifier outputs a pseudo-probability between 0 and 1: why aren't the ensemble of weak estimators doing the same?