【发布时间】:2020-07-26 21:06:06
【问题描述】:
我有多个类的分类问题,我们称它们为 A、B、C 和 D。我的数据具有以下形状:
X=[#samples, #features, 1], y=[#samples,1].
更具体地说,y 看起来像这样:
[['A'], ['B'], ['D'], ['A'], ['C'], ...]
当我在这些标签上训练随机森林分类器时,效果很好,但是我多次阅读,类标签也需要是一个热编码的。 一次热编码后,y为
[[1,0,0,0], [0,1,0,0], ...]
并且有形状
[#samples, 4]
当我尝试将其用作分类器输入时,就会出现问题。该模型分别预测四个标签中的每一个,这意味着它也能够产生像 [0 0 0 0] 这样的输出,这是我不想要的。 rfc.classes_返回
# [array([0, 1]), array([0, 1]), array([0, 1]), array([0, 1])]
我如何告诉模型标签是一个热编码而不是多个标签,这些标签应该相互独立地进行预测?我需要更改我的 y 还是需要更改模型的某些设置?
【问题讨论】:
标签: python numpy machine-learning encoding multiclass-classification