我有一个包含2列的csv文件...图像名称及其对应的多个标签。我想将其转换为多个Binarizer向量。但是我出错了。
我直接在标签的第二列上尝试了sklearn的MultipleBinarizer
。
df["labels"][0]
给出:
['label1', 'label2', 'label3']
df.head()
给出了image name ['label1','label2']
等。
我想为此获得二值化器。
答案 0 :(得分:0)
我尝试了下面的代码,它为我工作。我相信还有其他方法,但希望对您有所帮助。
我的输入文件如下所示
import pandas as pd
import numpy as np
from sklearn.preprocessing import MultiLabelBinarizer
file = pd.read_csv('file.csv', sep='\t')
y = file['label'].apply(lambda f: f.split(','))
binarizer = MultiLabelBinarizer()
one_hot = binarizer.fit_transform(y.values)
print(one_hot, binarizer.classes_)