首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bincount one-hot编码标签

Bincount one-hot编码标签
EN

Stack Overflow用户
提问于 2020-04-06 16:03:39
回答 2查看 116关注 0票数 0

我有一组one-hot编码标签,我想看看每个类别有多少个。每个标签可以包含一个或多个类,如下所示:

代码语言:javascript
复制
[1  0   0   0   0   0   0   1   0]

我对这个问题的第一个解决方案是像这样使用np.argmaxnp.bincount

代码语言:javascript
复制
newLabels = []
for i in range(len(labels)):
    newLabels.append(np.argmax(labels[i]))

newLabels= np.asarray(newLabels)

np.bincount(newLabels)
代码语言:javascript
复制
array([1221,  722,  199,  918,  599,  678, 1569,  786,  185])

但是接下来发生的事情是,上面的one-hot编码示例将被赋予值0,而第二个值(应该是7)不会被计算在内。

有谁有解决这个问题的办法吗?

EN

回答 2

Stack Overflow用户

发布于 2020-04-06 16:07:42

代码语言:javascript
复制
from collections import Counter

newLabels = Counter()
for label in labels:
    for idx, key in enumerate(label):
         newLabels[idx]+=key

输出应该是一个字典,其中键是标签、索引,值是计数。

票数 0
EN

Stack Overflow用户

发布于 2020-04-06 16:12:05

此问题的解决方案是:

代码语言:javascript
复制
np.sum(Labels, axis=0)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61055378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档