我有一个包含2列的csv文件...图像名称及其对应的多个标签。我想将它转换为多个二值化矢量。但我收到了错误。
我已经在第二列标签上直接尝试了sklearn的MultipleBinarizer
。
df["labels"][0]
给出:
['label1', 'label2', 'label3']
df.head()
给image name ['label1','label2']
等。
我想为此获得二进制化器。
我尝试下面的代码,它对我有用。我相信还有其他方法,但希望这会有所帮助。 我的输入文件如下所示
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_)