def eval(regressor, inputs): real_stock_price = np.array(X) predicted_stock_price = regressor.predict(inputs) # rebuild the Structure dataset_total = pd.DataFrame() dataset_total['real'] = real_stock_price dataset_total['predicted'] = predicted_stock_price # real test data price VS. predicted price predicted_stock_price = scaler.inverse_transform(dataset_total) toler_rate = calc_diff(predicted_stock_price[:, 0], predicted_stock_price[:, 1]) err_cnt = error_count(predicted_stock_price[:, 0], predicted_stock_price[:, 1], toler_treshold = 3.0) mse = mean_squared_error(predicted_stock_price[:, 0], predicted_stock_price[:, 1]) mape = mean_absolute_percentage_error(all_prices[:, 0], all_prices[:, 1])
# h teleutaia timh tou predicted_stock_price den yparxei sto set real,(epeidh einai ena +1 step prediction ektos set) # opote gia na exoun idies diastaseis, vazw append sto real thn teleutaia timh tou predicted print("LAST PRED ", predicted_stock_price[-1]) predicted_stock_price_mod = create_pred_for_plot(predicted_stock_price) print("pred_stock_prices_oneVector ", predicted_stock_price_mod, "size ", predicted_stock_price_mod.shape, "\n") dataset_test_total['predicted'] = predicted_stock_price_mod print("Dataset_test_total ", dataset_test_total) # real data price VS. predicted price predicted_stock_price = scaler.inverse_transform(dataset_test_total) # count of Wrong predicted value after applying treshold err_cnt = error_count(predicted_stock_price[:, 0], predicted_stock_price[:, 1], toler_treshold=5.0) # Calc difference between real data price and predicted price diff_rate = calc_diff(predicted_stock_price[:, 0], predicted_stock_price[:, 1]) # show the inputs and predicted outputs for i in range(len(predicted_stock_price[:, 1])): print("X=%s, Predicted=%s" % (predicted_stock_price[i, 1], predicted_stock_price[i, 0])) print("Error count: ", err_cnt, "\n diff rate: ", diff_rate, "\n") ## Visualising the results plot(predicted=predicted_stock_price[:, 1]) plot(real=predicted_stock_price[:, 0]) plot(predicted=predicted_stock_price[:, 1], real=predicted_stock_price[:, 0]) # MSE