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 Сравните качество прогноза моделей. Какой максимальный результат удалось получить на контрольной выборке? """
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)