Извлечь вывод слоя встраивания - PullRequest
0 голосов
/ 25 ноября 2018

Я пытаюсь построить регрессионную модель, для которой у меня есть номинальная переменная с очень высокой мощностью.Я пытаюсь получить категоричное вложение столбца.

Ввод:

df["nominal_column"]

Ввод:

the embeddings of the column.

Я хочу использовать опцию встраивания столбцав одиночку, так как я бы потребовал это в качестве входа в мою традиционную модель регрессииЕсть ли способ извлечь этот вывод в одиночку.

PS Я не прошу код, любое предложение о подходе было бы здорово.

1 Ответ

0 голосов
/ 25 ноября 2018

Если вложение является частью модели, и вы обучаете ее, то вы можете использовать функциональный API-интерфейс keras, чтобы получить выходные данные любой промежуточной операции на вашем графике:

x=Input((number_of_categories,))
y=Embedding(parameters_of_your_embeddings)(x)
output=Rest_of_your_model()(y)
model=Model(inputs=[x],outputs=[output,y])

, если вы делаете это перед вамиДля обучения модели вам необходимо определить пользовательскую функцию потерь, которая работает только с частью результата.Другой способ - обучить модель только с одним выходом, затем создать идентичную модель с двумя выходами и установить веса второй модели из обученной.

Если вы хотите получить матрицу внедрения из вашей модели, вы можете просто использовать метод get_weights уровня встраивания, который возвращает веса в массиве numpy.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...