для нейронной сети мне нужно конвертировать метки в один горячий массив.
У меня есть 3 метки, которые появляются в списке, как:
labels = ["Synonym", "Antonym", "Not relevant", "Synonym", "Antonym"]
Есть 3 разных метки, и я хочу сначала отнести их к номерам 1,2 и 3, а затем построить из них один горячий вектор, как, например, для метки 3 -> 0 0 1 Функция, которую я имею, составляет список массивов, и это не работает, чем для обучения.
def label_to_onehot(labels):
mapping = {label: i for i, label in enumerate(set(labels))}
one_hot = []
for label in labels:
entry = [0] * len(mapping)
entry[mapping[label]] = 1
one_hot.append(entry)
return one_hot
Вот что я получаю:
ValueError: Ошибка при проверке целевого объекта модели: список массивов Numpy, передаваемых вашей модели, не соответствует размеру модели
ожидается. Ожидается увидеть 1 массив (ов), но вместо этого получил следующее
список из 165757 массивов: [массив ([[0],
[0],
[1]]), массив ([[1],
[0],
[0]]), массив ([[0],
[1],