python - MultiLabelBinarizer() 和 inverse_transform()
问题描述
我有多标签标签。标签中的元素意味着投票。以下是标签的外观:
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]])
这是我尝试过的:
from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer()
nn = mlb.fit_transform(labels_train)
nn[:10]
输出:
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() 时:
zet = mlb.inverse_transform(nn)
zet[:10]
出去:
[(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)]
我究竟做错了什么?为什么它以升序显示唯一值?
解决方案
推荐阅读
- oauth-2.0 - 在 OAuth2 中使用用户拥有的资源保护 URL
- flutter - 如何使每个网格图块可单击以将我带到 Flutter 中的新页面
- java - 尝试在 Karate DSL 中编写逻辑,我需要 yyyy-mm-dd 格式的日期。如果日期是星期六,则应将 2 天添加到当前日期
- c - fcntl 在多线程程序中不起作用(不锁定文件)
- android - 单击“使用 google 登录”按钮后卡住
- c++ - 在 Linux 上同时使用 ORG 和 EXTRN 进行组装
- python - PyCharm 为类生成文档存根
- vis.js - vis.js 支持烛台吗?
- python - Python 有向图边列表 - 查找所有祖先和孩子
- c++ - 为什么 C++ 标准不更改 std::set 以使用 std::less<> 作为其默认模板参数?