【问题标题】:binary classification label names [closed]二进制分类标签名称
【发布时间】:2018-10-25 15:14:32
【问题描述】:

如果我有一个二元分类问题,我想使用 sklearn 或 matlab 构建模型。标签文件是否应该包含 0 和 1 或者它可以包含类的名称,例如“R”(下雨)和“S”(晴天)?我应该将其转换为 0 和 1 吗?

【问题讨论】:

  • 我不确定这个问题在这里是否合适,至少目前的形式是这样。不过,要以评论的形式回答它,这取决于。一些包允许您将标签作为字符串输入并“在内部”进行某种类型的转换,但最常见的是您将标签转换为某种二进制大小写(即 {0,1}),例如在 sklearn 中,您' 最好将标签转换为二进制数字大小写。
  • 我都试过了,它没有改变,但正如你所说,我认为最好转换为 0 和 1
  • @atomsmasher,我不同意转换会更好。 Scikit-learn 会自动处理(转换)它们。如果您有字符串,只需将它们作为字符串传递。不要做任何事。它应该(也不会)改变结果。
  • @Vivek:你认为多分类在没有标签编码的情况下也能得到相同的结果吗?
  • 正如我所说,scikit 本身会在内部进行编码,所以你不需要。它适用于所有二进制和多类。在任何其他情况下,scikit 都会给出适当的错误,所以不用担心训练错误。

标签: python matlab machine-learning scikit-learn classification


【解决方案1】:

标签的类型应该对模型没有影响。无论您使用01 还是RS,您都应该得到完全相同的结果。

【讨论】:

  • 感谢回复,您是否也认为多分类应该是一样的还是我们需要sklearn的标签编码器?
  • @Sahar 应该是一样的
猜你喜欢
  • 1970-01-01
  • 2020-10-04
  • 1970-01-01
  • 2019-07-14
  • 2018-07-07
  • 2022-01-23
  • 1970-01-01
  • 2020-03-15
  • 2016-06-01
相关资源
最近更新 更多