机器学习:CatBoost简介( 六 )

  • 在响应编码中 , 如果我们使用对具有相同分类特征的所有数据点的目标值的均值来表示每个分类特征 , 当我们用它的类标签表示数据点的一个特征时 , 这将导致目标泄漏 。

  • CatBoost仅考虑该时间的先前数据点并计算具有相同分类特征的那些数据点的目标值的平均值 。 以下是带有示例的详细说明 。

  • 让我们看一个示例数据集 。 (所有数据点都按日期排序)

    使用fearture_1预测max_temperature

    如果数据 没有时间 , CatBoost会随机为每个数据点创建一个人工时间 。

    我们有feature 1 , 一个分类特征 , 它有三个不同的类别 。

    对于响应编码 , cloudy=(15 + 14 + 20 + 25)/ 4 = 18.5

    这实际上导致了目标泄漏 。 因为我们使用相同数据点的目标值来向量化数据点 。

    CatBoost向量化所有分类特征 , 没有任何目标泄漏 。 它不会考虑所有数据点 , 而只会考虑数据点过去的数据点 。 例如 ,

    推荐阅读