首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MultiLabelBinarizer()与inverse_transform()

MultiLabelBinarizer()与inverse_transform()
EN

Data Science用户
提问于 2020-09-13 04:52:54
回答 1查看 1.2K关注 0票数 0

我有多个标签。标签中的元素意味着投票。以下是标签的外观:

代码语言:javascript
复制
array([[ 4,  0,  0,  1,  3,  2,  0,  0],
       [ 6,  0,  1,  1,  0,  0,  0,  0],
       [ 5,  0,  0,  3,  1,  0,  0,  0],
       [ 4,  0,  0,  4,  1,  0,  0,  0],
       [ 9,  0,  0,  1,  0,  0,  0,  0],
       [ 6,  0,  0,  1,  0,  0,  1,  1],
       [ 2,  0,  0,  8,  0,  0,  0,  0],
       [ 0, 10,  0,  0,  0,  0,  0,  0],
       [ 0, 10,  0,  0,  0,  0,  0,  0],
       [ 0,  0,  6,  0,  0,  0,  4,  0]])

以下是我尝试过的:

代码语言:javascript
复制
from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer()
nn = mlb.fit_transform(labels_train)
nn[:10]

输出:

代码语言:javascript
复制
array([[1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0],
       [1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0],
       [1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0],
       [1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0],
       [1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0],
       [1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0],
       [1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0],
       [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
       [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
       [1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0]])

当我尝试inverse_transform()时:

代码语言:javascript
复制
zet = mlb.inverse_transform(nn)
zet[:10]

退出:

代码语言:javascript
复制
[(0, 1, 2, 3, 4),
 (0, 1, 6),
 (0, 1, 3, 5),
 (0, 1, 4),
 (0, 1, 9),
 (0, 1, 6),
 (0, 2, 8),
 (0, 10),
 (0, 10),
 (0, 4, 6)]

我做错了什么?为什么它以升序显示独特的价值?

EN

回答 1

Data Science用户

发布于 2020-09-13 07:59:41

这看上去很直观。

当我们有一个单标签响应(多类设置)时,编码之前的响应如下:

代码语言:javascript
复制
[1, 4, 2, 3, 5]

在编码之后,它变成

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

表示有i级的存在。但只有一个。类似地,在多标签设置中-

输入应该是- [[1,2,5], [4,1], [2,3] [3], [5,4]]

编码值- [[1,1,0,0,1], [1,0,0,1,0], [0,1,1,0,0], [0,0,1,0,0], [0,0,0,1,1]]

表示(i,j,k)第四类的存在。可以有很多

在编码之前,不需要在数据中保留重复的值。反函数也会以同样的方式工作。

每个样本的标签集,使得y我由每个yt我,j == 1的classes_J组成。

但是,如果您试图再次转换o/p的逆,您将得到相同的编码。

代码语言:javascript
复制
mlb.transform(zet)

数组([ 1,1,1,1,0,0,0,0、 1,1,0,0,0,0,1,0,0,0、 1,1,1,1,1,1,0,、 1,1,0,0,0,0,0,0、 1,0,0,0,0,0,0,0,1,0、 1,1,0,0,0,0,1,0,0,0、 1,1,1,0,0,0,0,1,0,、 1,0,0,0,0,0,0,0、 1,0,0,0,0,0,0,0、1,0,0,0,1,0,0,0])

票数 2
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/81623

复制
相关文章

相似问题

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