Esempio n. 1
0
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])
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
mse = mean_squared_error(predicted_stock_price[:, 0], predicted_stock_price[:,
                                                                            1])
print("MSE: ", mse)