Быстрый прямой способ создания массива для учебных ярлыков для подачи в Keras - PullRequest
0 голосов
/ 20 апреля 2020

Допустим, я хочу обучить простую модель в кератах на наборе данных, который для простоты содержит

  • 3 метки
  • 10 dim для 6 наблюдений.

Обратите внимание, что я упрощаю для целей этого примера.

Если мы тренируем модель с нашими 6 наблюдениями, то форма тензора x_train должна быть [5,10], а наша y_train должна быть [5, 2].

Мой вопрос касается построения тензора y_train. Обычно мы получаем данные в виде массива измерения len(n_observations), где каждое значение соответствует отдельной метке / классу. Чтобы построить тензор y_train, я обычно жонглирую с np.zeros и np.ones и np.stack.

Так что в примере, описанном выше, если:

y_train_raw = np.repeat((1,2,3), 2) #initial format of the training labels

Я бы сделал что-то вроде:

label1=np.vstack((np.ones((2,1)), np.zeros((4,1))))
label2 = np.vstack((np.zeros((2,1)),np.ones((2,1)), np.zeros((2,1))))
label3=np.vstack((np.zeros((4,1)), np.ones((2,1))))
y_train = np.column_stack((label1, label2, label3))

Мой вопрос: есть ли способ программно сделать этот шаг быстрее?

...