import pandas as pd import math from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from keras.models import Sequential from keras.layers import Dense from sklearn import metrics df = pd.read_csv('data.csv') scaler = StandardScaler() X = scaler.fit_transform(df.iloc[:, :-1]) y = df.iloc[:, -1] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) print("Podzielono zbiór na {} rekordów uczących i {} rekordów testowych".format(len(y_train), len(y_test))) model = Sequential() model.add(Dense(32, activation='relu', input_dim=(X_train.shape[1]))) model.add(Dense(32, activation='relu')) model.add(Dense(1, activation='linear')) print("Stworzono sieć neuronową: \n") model.summary() model.compile(optimizer='adam', loss='mean_squared_error', metrics=["mae"]) epochs = 1500 model.fit(X_train, y_train, epochs=epochs, validation_data=(X_test, y_test)) print("Zakończono trenowanie sieci neuronowej z wykorzystaniem biblioteki Keras.") predicted_prices = model.predict(X_test) rmse = math.sqrt(metrics.mean_squared_error(y_test, predicted_prices)) mae = metrics.mean_absolute_error(y_test, predicted_prices) print('RMSE: {:.2f} zł'.format(rmse)) print('MAE: {:.2f} zł'.format(mae))