return model model = build_model() EPOCHS = 1000 early_stop = keras.callbacks.EarlyStopping(monitor='val_loss', patience=100) history = model.fit(X_train, y_train, epochs=EPOCHS, validation_split = 0.2, verbose=0, callbacks=[early_stop,tfdocs.modeling.EpochDots()]) hist = pd.DataFrame(history.history) hist['epoch'] = history.epoch hist.tail() loss, mae, mse = model.evaluate(X_test,y_test) test_predictions = model.predict(X_test) NN_score = r2_score(y_test,test_predictions) print(NN_score) plotter = tfdocs.plots.HistoryPlotter(smoothing_std=2) plotter.plot({'Basic': history}, metric = "mae") plt.ylabel('MAE ') plt.savefig("MAE_loss_with_early.png") plotter.plot({'Basic': history}, metric = "mse") plt.ylabel('MSE') plt.savefig('MSE_loss_with_early.png')
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.3, random_state=42) def model(): model = Sequential() model.add( Dense(256, activation='relu', kernel_initializer='he_normal', input_dim=13)) model.add(Dropout(0.2)) model.add(Dense(128, activation='relu', kernel_initializer='he_normal')) model.add(Dropout(0.3)) model.add(Dense(16, activation='relu', kernel_initializer='he_normal')) model.add(Dense(1)) model.compile(loss='mse', optimizer='adam') return model model = model() model.fit(X_train, y_train, shuffle=True, epochs=1000, verbose=0) print('RMSE : {:.2f}'.format(np.sqrt(model.evaluate(X_test, y_test)))) y_pred = model.predict(X_test) print(f'Accuracy: {r2_score(y_test, y_pred)*100:.2f}%')