如何解决如何使用 MultiLabelBinarizer 进行多标签分类?
我正在尝试进行多标签分类。但我真的坚持数据预处理。我的目标数据在一个单独的文件中。目标数据是这样的
Id Tag
0 1 data
1 4 c#
2 4 winforms
3 4 type-conversion
4 4 decimal
我正在尝试使用 MultiLabelBinarizer 来预处理数据。最后,我希望它看起来像这样 -
ID | 数据 | c# | winforms | 类型转换 | 十进制 |
---|---|---|---|---|---|
1 | 1 | 0 | 0 | 0 | 0 |
4 | 0 | 1 | 1 | 1 | 1 |
这是我正在使用的代码
import pandas as pd
from sklearn.preprocessing import MultiLabelBinarizer
question_tags = pd.read_csv("./archive/question_tags.csv")
print(question_tags.head())
mlb = MultiLabelBinarizer()
print(mlb.fit_transform(question_tags))
这是我得到的输出。
[[1 0 0 1 0]
[0 1 1 0 1]]
我做错了什么?
解决方法
你没有做错任何事。 MultiLabelBinarizer()
与大多数其他 sklearn
内容一样,返回 numpy 数组。在这种情况下,基础数据看起来与您的预期输出相同,没有 ID
和 Tag
名称。
改用pd.crosstab
:
pd.crosstab(df['Id'],df['Tag'])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。