я пытаюсь построить модель для прогнозирования некоторого значения, в моем наборе данных содержатся конусные и категориальные данные, для которых я выбрал one hot encode
категориальную функцию, как показано ниже
oneEncoder= OneHotEncoder()
oneEncoder.fit_transform(features.COL2.values.reshape(-1,1)).todense()
>>> matrix([[0., 1., 0.],
[0., 1., 0.],
[0., 1., 0.],
...,
[0., 1., 0.],
[1., 0., 0.],
[0., 1., 0.]])
, но при попытке вывести первую строку данные, я все еще получаю строковое значение, а не представление OHE
features.iloc[1,:]['COL2'] # prints '1772' (the string value)
, после чего я собирался использовать его для построения сети так же, как и до добавления категориальных функций с использованием приведенного ниже
multi_step_model = tf.keras.models.Sequential()
multi_step_model.add(tf.keras.layers.LSTM(32,
return_sequences=True,
input_shape=x_train_multi.shape[-2:]))
multi_step_model.add(tf.keras.layers.LSTM(16, activation='relu'))
multi_step_model.add(tf.keras.layers.Dense(future_target))
multi_step_model.compile(optimizer=tf.keras.optimizers.RMSprop(clipvalue=1.0), loss='mse')
Q1 : OHE
правильно ли я выполняю или что-то упустил?
Q2 : можно ли просто вставить категориальные данные в сеть после выполнения OHE
?