Files
drift/utils/evaluate.py
T
Mark Aron Szulyovszky 7aedb91069 feat(Data): added various data loading config options, walk forward method draft (#9)
* feat(Eval): added format_data_for_backtest()

* feat(Data): added many configurable parameters to load_files to reduce boilerplate and prepare for HPO

* feat(Core): added walk forward method of training/testing

* fix(Model): remove the unnecessary softmax activation from the keras models

* feat(Core): added walk_forward_train_test()
2021-12-01 09:28:24 +01:00

24 lines
990 B
Python

from math import sqrt
from sklearn.metrics import mean_squared_error, mean_absolute_error, accuracy_score
from sklearn.metrics import confusion_matrix
import pandas as pd
def print_regression_metrics(y_true, y_pred):
rmse = sqrt(mean_squared_error(y_true, y_pred))
print("RMSE: %.2f" % rmse)
mae = mean_absolute_error(y_true, y_pred)
print("MAE: %.2f" % mae)
def print_classification_metrics(y_true, y_pred):
print("Accuracy: %.2f" % accuracy_score(y_true, y_pred))
print("Confusion Matrix: \n", confusion_matrix(y_true, y_pred))
def format_data_for_backtest(aggregated_data: pd.DataFrame, returns_col: str, only_test_data: pd.DataFrame, preds) -> pd.DataFrame:
backtest_data = aggregated_data.iloc[-only_test_data.shape[0]:].copy()[returns_col]
assert backtest_data.shape[0] == only_test_data.shape[0]
backtest_data = backtest_data.reset_index(drop=True)
return pd.concat([backtest_data, pd.Series(preds)], axis='columns')
# def backtest()