Catboost面试题 简单介绍Catboost? CatBoost是一种以对称决策树 为基学习器的GBDT框架,主要为例合理地处理类别型特征,CatBoost是由Categorical和Boosting组成。CatBoost还解决了梯度偏差以及预测偏移的问题,从而减少过拟合的发生,进而提高算法的准确性和泛化能力。 相比于XGBoost、LightGBM,CatBoost的创新点有哪些? 自动将类别型特征处理为数值型特征。 Catboost对类别特征进行组合,极大的丰富了特征维度。 采用排序提升的方法对抗训练集中的噪声点,从而避免梯度估计的偏差,进而解决预测偏移的问题。 采用了完全对称树作为基模型。 Catboost是如何处理类别特征的?
CatBoost是一种以对称决策树 为基学习器的GBDT框架,主要为例合理地处理类别型特征,CatBoost是由Categorical和Boosting组成。CatBoost还解决了梯度偏差以及预测偏移的问题,从而减少过拟合的发生,进而提高算法的准确性和泛化能力。
基数比较低的类别型特征
利用One-hot编码方法将特征转为数值型
基数比较高的类别型特征
经典梯度提升算法每个步骤中使用的梯度由当前模型中的相同的数据点(节点)来估计,这导致估计梯度在特征空间的任何域中的分布与该域中梯度的真实分布相比发生了偏移,从而导致过拟合。
对于每一个样本单独训练一个模型,使用模型估计样本的梯度,并用估计的结果对模型进行评分
预测偏移是由梯度偏差造成的。在GDBT的每一步迭代中, 损失函数使用相同的数据集求得当前模型的梯度, 然后训练得到基学习器, 但这会导致梯度估计偏差, 进而导致模型产生过拟合的问题。CatBoost通过采用排序提升 的方式替换传统算法中梯度估计方法,进而减轻梯度估计的偏差。
在传统的GBDT框架当中,构建下一棵树分为两个阶段:选择树结构和在树结构固定后计算叶子节点的值。CatBoost主要在第一阶段进行优化。在建树的阶段,CatBoost有两种提升模式,Ordered和Plain。Plain模式是采用内建的ordered TS对类别型特征进行转化后的标准GBDT算法。Ordered则是对Ordered boosting算法的优化。
对称树是平衡的,不容易过拟合
统一层使用相同的分割准则
每个叶子节点的索引可以被编码为长度等于树深度的二进制向量
首先将所有浮点特征、统计信息和独热编码特征进行二值化,然后使用二进制特征来计算模型预测值
优点:
缺点: