CatBoost原理及应用
集成学习:为了获得更好的预测性能,集成学习结合多个模型(弱学习器)的预测结果。它的策略就是大力出奇迹,因为弱学习器的有效组合可以生成更准确和更鲁棒的模型。集成学习方法分为三大类:
- Bagging:该技术使用随机数据子集并行构建不同的模型,并聚合所有预测变量的预测结果。
- Boosting:这种技术是可迭代的、顺序进行的和自适应的,因为每个预测器都是针对上一个模型的错误进行修正。
- Stacking:这是一种元学习技术,涉及结合来自多种机器学习算法的预测,例如 bagging 和 boosting。
CatBoost(categorical boosting)是一种能够很好地处理类别型特征的梯度提升算法库。CatBoost 和 XGBoost、LightGBM 并称为 GBDT 的三大主流神器。
CatBoost 的主要特点:对称树
与 XGBoost 和 LightGBM 不同,CatBoost 构建对称(平衡)树。在每一步中,前一棵树的叶子都使用相同的条件进行拆分。选择损失最低的特征分割对并将其用于所有级别的节点。这种平衡的树结构有助于高效的 CPU 实现,减少预测时间,模型结构可作为正则化以防止过度拟合。
在对称决策树中,只使用一个特性来构建每个树级别上的所有分支。共有三种类型的拆分:FloatFeature、OneHotFeature 、OnlineCtr。
CatBoost 的基本使用
Pool是catboost中的用于组织数据的一种形式,也可以用numpy array和dataframe。但更推荐Pool,其内存和速度都更优。
参考文献:
python数据科学