使用多LabelBinarizer python进行解码
我的目标是一个如下所示的数据帧,使用MultiLabelBinarizer对我的数据帧(每行一次)进行编码效果良好,而解码总是以错误的顺序输出数据 下面是一个简单的数据帧(我的目标y): 来自sklearnwebiste的示例使用多LabelBinarizer python进行解码,python,scikit-learn,multilabel-classification,Python,Scikit Learn,Multilabel Classification,我的目标是一个如下所示的数据帧,使用MultiLabelBinarizer对我的数据帧(每行一次)进行编码效果良好,而解码总是以错误的顺序输出数据 下面是一个简单的数据帧(我的目标y): 来自sklearnwebiste的示例 from sklearn.preprocessing import MultiLabelBinarizer mlb = MultiLabelBinarizer() encoded = mlb.fit_transform([['sci-fi', 'thriller', 'c
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']
尝试打印编码的变量。我相信您遇到的问题是,该函数正在将字符串“sci-fi”转换为一系列字符。函数“fit transform”将“iterable of iterables”作为输入 如果我是正确的,那么简单的解决方法是:
encoded = mlb.fit_transform([['sci-fi'], ['thriller'], ['comedy']])
谢谢,但这绝对不是正确的答案/理由。请试一下你的答案,例如Jupyter
encoded = mlb.fit_transform([['sci-fi'], ['thriller'], ['comedy']])