【发布时间】:2020-07-18 04:33:56
【问题描述】:
我有一组单热编码标签,我想看看每个类别有多少。每个标签可以包含一个或多个类,如下所示:
[1 0 0 0 0 0 0 1 0]
我对这个问题的第一个解决方案是像这样使用np.argmax 和np.bincount:
newLabels = []
for i in range(len(labels)):
newLabels.append(np.argmax(labels[i]))
newLabels= np.asarray(newLabels)
np.bincount(newLabels)
array([1221, 722, 199, 918, 599, 678, 1569, 786, 185])
但随后发生的情况是,上面的 one-hot 编码示例将被赋予值 0,而第二个值(应该是 7)不计算在内。
有人能解决这个问题吗?
【问题讨论】:
-
你能分享一个MCVE吗?这不只是列的总和吗?
-
@yatu,你是对的!只是总结每一列
标签: python numpy one-hot-encoding multilabel-classification multiclass-classification