LightGBM
LightGBM的起源
Histogram VS pre-sorted
leaf-wise VS level-wise
特征并行和数据并行
顺序访问梯度
支持类别特征
应用场景
sklearn参数
CatBoost(了解)
https://blog.csdn.net/hnlylnjyp/article/details/90382417
https://lightgbm.readthedocs.io/en/latest/pythonapi/lightgbm.LGBMRegressor.html
参数
LGBMRegressor(
boosting_type='gbdt',
“ gbdt”,传统的梯度增强决策树。 'dart',满足多个加性回归树。 基于梯度的“ goss”单边采样。 “ rf”,随机森林。num_leaves=31
每棵树的最多叶子数,因为CART是二叉树,所以叶子数量最大值为2 **depth,所以num_leaves要小于该值才有意义。max_depth=-1,
learning_rate=0.1,
n_estimators=100,
subsample_for_bin=200000,
objective=None,
class_weight=None,
min_split_gain=0.0,
min_child_samples=20
想建立一个叶子所需要的的最少样本数,增大它可以降低过拟合。min_child_weight=0.001
指要想建立一个叶子,该叶子需要提供的最小hessian值。这两个参数都是对新建叶子设置了门槛,可以降低叶子数量,减小过拟合。bagging_fraction:
每次进行bagging时,随机使用多少的样本。 subsample=1.0bagging_freq:
每建立多少棵树,就进行一次bagging。,subsample_freq=0,colsample_bytree=1.0,
reg_alpha=0.0,L1正则化参数
reg_lambda=0.0,L2正则化参数
random_state=None,
n_jobs=-1,
silent=True, 输出很多建模中的细节
feature_fraction
每次新建一棵树时,随机使用多少的特征。
**kwargs,
)
基本调参思路,首先设置lr=0.1确定树的数量,然后调整每颗树的内部参数到最佳。确定树的内部参数后,用该参数,降低lr,反调lr和树的数量。