Начало работы с простым NN, но моя потеря остается одной на каждой итерации. Может кто-нибудь указать на то, что я делаю здесь не так.
Это из вводного курса Kaggle, и мой модифицированный учебный набор содержит идентификатор магазина, идентификатор категории, идентификатор товара, месяц и доход. Я в основном пытаюсь предсказать доход по магазинам в каждой категории в следующем месяце.
Я увеличил доход и обучился на простом NN с 2 скрытыми слоями; однако, похоже, что тренировка не работает, так как потери остаются постоянными. Я ничего не сделал с ярлыками (ie идентификаторы магазинов, идентификаторы категорий), но я все равно думал бы, что потери будут меняться на каждой итерации.
Если у вас есть какие-то комментарии по практике кодирования, я бы также интересно.
Спасибо.
X_train = grouped_train.drop('revenue', axis=1)
y_train = grouped_train['revenue']
print('X & y trains')
print(X_train.head())
print(y_train.head())
scaler = StandardScaler()
y_train = pd.DataFrame(scaler.fit_transform(y_train.values.reshape(-1,1)))
print('Scaled y train')
print(y_train.head())
keras.backend.clear_session()
model = Sequential()
model.add(Dense(30, activation='relu', input_shape=(4,)))
model.add(Dense(30, activation='relu'))
model.add(Dense(1, activation='relu'))
model.summary()
print('Compile & fit')
model.compile(loss='mean_squared_error', optimizer='RMSprop')
model.fit(X_train, scaled_data, batch_size=128, epochs=13)
predictions = pd.DataFrame(model.predict(test))
print('Scaled predictions')
print(predictions.head())
print('Unscaled predictions')
print(pd.DataFrame(scaler.inverse_transform(predictions)).head())
IN
OUT