model.add(Activation('linear'))

# In[48]:

# MODEL COMPILING AND TRAINING
model.compile(loss='mean_squared_error', optimizer='adam',
              metrics=['mae'])  # Try mae, adam, adagrad and compare!!!
model.fit(trainX, trainY, epochs=30, batch_size=1, verbose=2)

# In[49]:

# MAE : 예측과 타깃 사이 거리의 절댓값으로 여기서 MAE가 0.5면 정규처리된 가격이 0.5 -> 예를들어 1000이 정규화되어서 0.01.정도가 된거면 0.5 0> 50000

# In[50]:

mae = model.evaluate(testX, testY, batch_size=16)
print('Mean Absolute Error for Y:', mae)

# In[51]:

# PREDICTION
trainPredict = model.predict(trainX)
testPredict = model.predict(testX)

# In[52]:

# DE-NORMALIZING FOR PLOTTING
trainPredict = scaler.inverse_transform(trainPredict)
trainY = scaler.inverse_transform([trainY])
testPredict = scaler.inverse_transform(testPredict)
testY = scaler.inverse_transform([testY])
model.add(LSTM(2, activation = 'relu', return_sequences = True,
               input_shape = X.shape[-2:]))
model.add(LSTM(12, activation = 'relu'))
model.add(Dense(1))

model.compile(optimizer = 'adam',
              loss = 'mse')

model.summary()

history = model.fit(x = X, y = y, epochs = 20, validation_split = 0.15,
                    verbose = 0)

rcParams['figure.figsize'] = 8, 6

plot_loss(history)

results = model.evaluate(X_test, y_test)

print('Test mse:', results)

y_pred = model.predict(X_test[20][np.newaxis, ...])

print(y_pred, y_test[20])

"""### Задание 5

Сравните качество прогноза моделей.

Какой максимальный результат удалось получить на контрольной выборке?
"""
Esempio n. 3
0
train_x = data.iloc[0:25285,4:]
train_y = data.iloc[0:25285,3]
val_x = data.iloc[25285:,4:]
val_y = data.iloc[25285:,3]

train_x = train_x.values.reshape(-1,5)
train_y = train_y.values.reshape(-1,1)
val_x = val_x.values.reshape(-1,5)
val_y = val_y.values.reshape(-1,1)

input_layer = Input(shape = train_x.shape[1:])
x = Dense(256, activation='relu')(input_layer)
x = Dense(256, activation='relu')(x)
x = Dense(512, activation='relu')(x)
x = Dense(512, activation='relu')(x)
output_layer = Dense(1000, activation='sigmoid')(x)

model = Model(input_layer, output_layer)
model.summary()

model.compile(loss='mean_squared_error',optimizer='Adam')


annealer = LearningRateScheduler(lambda x: 1e-3 * 0.97 ** x)

hist = model.fit(train_x, train_y, epochs=5, batch_size=32)

# test 데이터셋을 그룹별 - 종목별 나눠서 넣어보면 답이 나옴

loss_and_metrics = model.evaluate(x_test, y_test, batch_size=32)