Я хочу использовать MLP для решения проблемы регрессии.
У меня есть входы с переменной длиной, чтобы исправить это. Я хочу использовать Нулевое заполнение с маскирующим слоем .
Я читаю входные данные из файла csv , используя библиотеку pandas . Вот как выглядят мои данные.
Я знаю только, как заполнить значения NaN 0 с помощью этой команды x_train.fillna(0.0).values
Как и в первом ряду:
[4, 0, 0, 512, 1.0, 0.0, 1.0, 0.0, 128.0 , NaN]
После заполнения:
[4, 0, 0, 512, 1.0, 0.0, 1.0, 0.0, 128.0 , 0.0]
маска должна быть такой:
[1, 1, 1, 1, 1, 1, 1, 1, 1, 0]
Но я не знаю, как добавить слой маски и вставить их в мои MLP.
Если у меня фиксированная длина ввода. Моя программа будет выглядеть так
...
n_input = 10 #number og inputs
train_X = pd.read_csv('x_train.csv')
train_Y = pd.read_csv('y_train.csv')
X = tf.placeholder("float", [None, n_input])
Y = tf.placeholder("float", [None, n_output])
...
y_pred = multilayer_perceptron(X)
...
with tf.Session() as sess:
sess.run(init)
_, c = sess.run([train, loss], feed_dict={X: train_X,
Y: train_Y})
...
Не знаю, как совместить заполнение нулями и маскирующий слой?