CatBoost 算法的工作原理

CatBoost 是一种有监督的机器学习方法,由 Train Using AutoML 工具使用,并使用决策树进行分类和回归。 顾名思义,CatBoost 有两个主要功能,它适用于分类数据(Cat)和使用梯度提升(Boost)。 梯度提升是指一个迭代构建许多决策树的过程。 将每一棵后续树都会改进前一棵树的结果,从而获得更好的结果。 CatBoost 改进了原始梯度提升方法,以实现更快的实施。

CatBoost 克服了其他基于决策树的方法的限制,在这些方法中,通常必须对数据进行预处理以将分类字符串变量转换为数值、单热编码等。 该方法可以直接消耗分类和非分类解释变量的组合,无需预处理。 它作为算法的一部分进行预处理。 CatBoost 使用一种称为有序编码的方法对分类要素进行编码。 有序编码会考虑数据点之前所有行的目标统计信息,以计算替换分类要素的值。

CatBoost 的另一个独特特性是它使用对称树。 这意味着在每个深度级别,所有决策节点都使用相同的拆分条件。

CatBoost 也可以比 XGBoost 等其他方法更快。 它保留了先前算法的某些功能,例如交叉验证、正则化和缺失值支持。 该方法对小型数据和大型数据均表现良好。