ium_434742/avocado-evaluation.py
patrycjalazna 4ebdac4423
Some checks failed
s434742-evaluation/pipeline/head There was a failure building this commit
s434742-training/pipeline/head This commit looks good
minor fix
2021-05-13 17:57:54 +02:00

47 lines
1.4 KiB
Python

import pandas as pd
import numpy as np
from tensorflow import keras
import matplotlib.pyplot as plt
from keras import backend as K
from sklearn.metrics import mean_squared_error
# zaladowanie modelu
avocado_model = 'avocado_model.h5'
model = keras.models.load_model(avocado_model)
# odczytanie danych z plikow
avocado_train = pd.read_csv('avocado_train.csv')
avocado_test = pd.read_csv('avocado_test.csv')
avocado_validate = pd.read_csv('avocado_validate.csv')
# podzial na X i y
X_train = avocado_train[['average_price', 'total_volume', '4046', '4225', '4770', 'total_bags', 'small_bags', 'large_bags', 'xlarge_bags']]
y_train = avocado_train[['type']]
X_test = avocado_test[['average_price', 'total_volume', '4046', '4225', '4770', 'total_bags', 'small_bags', 'large_bags', 'xlarge_bags']]
y_test = avocado_test[['type']]
# prediction
predictions = model.predict(X_test)
#pd.DataFrame(predictions).to_csv('prediction_results.csv')
# ewaluacja
error = mean_squared_error(y_test, predictions)
print('Error: ', error)
with open('eval_results.txt', 'a') as f:
f.write(str(error) + "\n")
# wykres
with open('eval_results.txt', 'r') as f:
lines = f.readlines()
fig = plt.figure(figsize=(5,5))
chart = fig.add_subplot()
chart.set_ylabel("RMSE")
chart.set_xlabel("Build")
x = np.arange(0, len(lines), 1)
y = [float(x) for x in lines]
plt.plot(x, y, "ro")
plt.savefig("eval_plot.png")