【问题标题】:Does catboost support one-hot encoding?catboost 是否支持 one-hot 编码?
【发布时间】:2017-08-11 22:18:36
【问题描述】:

我有一次性编码的标签。我想用它们来训练和预测一个 catboost 分类器。但是,当我拟合时它给了我一个错误,说标签的每行不允许多个整数值。那么 catboost 是否不允许标签的 one-hot 编码?如果没有,我怎样才能让 catboost 工作?

【问题讨论】:

  • 你给catboost传递了什么参数?是否包含one_hot_max_size
  • @BobDalgleish 是的...我刚刚传入了 learning_rate、depth、iterations 和 one_hot_max_size ...。我确实找到了解决方法...

标签: catboost


【解决方案1】:

我找到了解决此问题的方法。这个问题可能有更好的解决方案,我很想听听。

解决方法是将 one-hot 编码转换为分类值。当然,大多数时候,我们采用分类值并转换为 one-hot 编码。所以不要做这一步。

然后,将损失函数设置为“MultiClass”。这是 catboost(我认为大多数梯度提升包)将支持多分类的唯一损失函数。

【讨论】:

    【解决方案2】:

    catboost 在内部自动进行因子编码,无需手动进行

    【讨论】:

      猜你喜欢
      • 2017-12-23
      • 2019-08-28
      • 1970-01-01
      • 2018-07-10
      • 2017-06-21
      • 2021-04-14
      • 1970-01-01
      • 1970-01-01
      • 2021-11-02
      相关资源
      最近更新 更多