GBDT模型参数问题,这里我们以sklearn里面的GBDT为例来说,打开网址sklearn.ensemble.GradientBoostingClassifier。这里我们不关注GBDT里面的所有参数意义,只解释下在对金融数据建模调参时最常用的一些参数意义:
GBDT框架的参数
n_estimators: 分类树的个数,即K
learning_rate: 即每个弱学习器的权重缩减系数ν,也称作步长。较小的ν意味着需要更多
的弱学习器的迭代次数。参数n_estimators和learning_rate要一起调参。可以从一个小一点 的ν开始调参,默认是1
Subsample: (不放回)抽样率,推荐在[0.5, 0.8]之间,默认是1.0,即不使用子采样
init: 即初始化的时候的弱学习器,一般用在对数据有先验知识,或者之前做过一些拟合的时候
loss: 即GBDT算法中的损失函数
弱分类树的参数
max_features: 划分时考虑的最大特征数
max_depth: 决策树最大深度
min_samples_split:内部节点再划分所需最小样本数。默认是2.如果样本量不大,不需要管
这个值。如果样本量数量级非常大,则推荐增大这个值
min_samples_leaf: 叶子节点最少样本数
min_weight_fraction_leaf:叶子节点最小的样本权重。默认是0,就是不考虑权重问题。
一般来说,如果我们有较多样本有缺失值,或者分类树样本的分布类别偏差很大,就会引 入样本权重,这时我们就要注意这个值了
max_leaf_nodes: 最大叶子节点数,通过限制最大叶子节点数,可以防止过拟合
min_impurity_split: 节点划分最小不纯度