使用多LabelBinarizer python进行解码

2024-04-29 00:07:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我的目标是一个如下所示的数据帧,使用MultiLabelBinarizer对我的数据帧(每行一次)进行编码效果良好,而解码总是以错误的顺序输出数据

下面是一个简单的数据帧(我的目标y):

index   col2         col2     col3
0       Anton        230      DR
1       Leila        890      DR
2       Arjun        688      ENG

来自sklearnwebiste的示例

from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer()
encoded = mlb.fit_transform([['sci-fi', 'thriller', 'comedy']])
mlb.inverse_transform(encoded)

Ouput:
array(['comedy''sci-fi','thriller'])

The desired output should be:
['sci-fi', 'thriller', 'comedy']  ** NOT ** ['comedy''sci-fi','thriller']

Tags: 数据目标编码transform解码ficol2encoded
1条回答
网友
1楼 · 发布于 2024-04-29 00:07:27

尝试打印编码的变量。我相信您遇到的问题是,该函数正在将字符串“sci-fi”转换为一系列字符。函数“fit transform”将“iterable of iterables”作为输入

如果我是正确的,那么简单的解决方法是:

encoded = mlb.fit_transform([['sci-fi'], ['thriller'], ['comedy']])

相关问题 更多 >