feat(Models): added debug_future_lookahead, sped up LogisticRegression & DecisionTreeClassifier (#74)

* feat(Models): added `debug_future_lookahead`, sped up LogisticRegression & DecisionTreeClassifier

* feat(Training): added ability to train on expanding_window

* feat(Models): tuned some hyperparameters, added expanding_window to sweep config, fixed tests

* feat(Models): tune parameters of ensemble models

* fix(Config): use window size that works with ensembling
This commit is contained in:
Mark Aron Szulyovszky
2021-12-22 16:59:03 +01:00
committed by GitHub
parent 25b64f5a3d
commit 6ae8acf70e
11 changed files with 32 additions and 10 deletions
+2
View File
@@ -22,6 +22,7 @@ def run_single_asset_trainig(
target_returns: pd.Series,
models: list[tuple[str, Model]],
method: Literal['regression', 'classification'],
expanding_window: bool,
sliding_window_size: int,
retrain_every: int,
scaler: Literal['normalize', 'minmax', 'standardize', 'none'],
@@ -45,6 +46,7 @@ def run_single_asset_trainig(
X = X,
y = y,
target_returns = target_returns,
expanding_window = expanding_window,
window_size = sliding_window_size,
retrain_every = retrain_every,
scaler = scaler
+6 -1
View File
@@ -11,6 +11,7 @@ def walk_forward_train_test(
X: pd.DataFrame,
y: pd.Series,
target_returns: pd.Series,
expanding_window: bool,
window_size: int,
retrain_every: int,
scaler,
@@ -35,7 +36,11 @@ def walk_forward_train_test(
for index in range(train_from, train_till):
if iterations_before_retrain <= 0 or pd.isna(models[index-1]):
train_window_start = index - window_size - 1
if expanding_window:
train_window_start = first_nonzero_return
else:
train_window_start = index - window_size - 1
train_window_end = index - 1
if is_scaling_on: