梯度提升模型,既可以做分类,在scikit-learn中使用GradientBoostingClassifier类;也可以用于回归,使用GradientBoostingRegressor类。下面我们就来分别介绍这两个部分。
分类
GBDT的分类模型如下:
如上图所示,看上去有很多参数,实际上我们很多都已经见过。下面来介绍主要的几个参数:
1.criterion参数
指特征选择的标准,我们就选择默认即可。
2.init参数
指是否用该参数提供的弱分类器来进行预测,默认为None,即使用原始样本集来进行预测。
3.learning_rate
学习率,指弱分类器的系数。
4.loss
指损失函数的类型,默认为deviance,即使用对数似然函数;也可以选择exponential,即指数损失函数。
5.subsample
指采样的比例,在0-1之间,默认为1,即不采样,使用全部样本;小于1,意味着只有一部分参与了模型的拟合。
6.n_estimators
指弱分类器的个数,默认为100.
回归
接下来,看看GBDT回归模型的参数:
可以看到,回归模型的参数大部分与分类相同,只有损失函数采用的不同。下面我们就来介绍loss参数。
回归模型的损失函数主要有4种,默认为ls(标准差函数)。还有三种分别是lad(绝对损失函数)、huber和quantile(分位损失函数)。