机器学习:CatBoost简介( 四 )

如果数据 没有时间 , CatBoost会随机为每个数据点创建一个人工时间 。
  • 步骤1:使用当时在所有其他数据点上训练过的模型计算每个数据点的残差(例如 , 要计算x5数据点的残差 , 我们使用x1、x2、x3和x4训练一个模型) 。 因此 , 我们针对不同的数据点训练不同的模型 。 最后 , 我们计算每个对应模型从未见过的数据点的残差 。

  • 步骤2:使用每个数据点的残差训练模型

  • 步骤3:重复步骤1和步骤2(进行n次迭代)

对于上述示例数据集 , 我们应该训练9种不同的模型来获得9个数据点的残差 。 当我们有更多数据点时 , 这在计算上是昂贵的 。

因此 , 默认情况下 , 它只训练log(num_of_datapoint)模型 , 而不是为每个数据点训练不同的模型 。 现在 , 如果一个模型已经训练了n个数据点 , 那么这个模型将被用来计算接下来n个数据点的残差 。