mirror of
https://github.com/webclinic017/drift.git
synced 2026-08-14 11:28:06 +00:00
refactor(WalkForward): separate train / test functions to help with inference later (#158)
* refactor(WalkForward): separate train / test functions (draft) to potentially help with inference later * fix(Training): use the new separate train / test functions * feat(Training): return and pass in scalers that are necessary for inference * fix(Project): runtime errors * fix(WalkForward): use the correct `train_from` value * fix(Tests): for new walk_forward functions() * refactor(WalkForward): rename `walk_forward_test()` to `walk_forward_inference()`
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
from training.walk_forward import walk_forward_train_test
|
||||
from training.walk_forward import walk_forward_train, walk_forward_inference
|
||||
from models.base import Model
|
||||
from utils.evaluate import evaluate_predictions
|
||||
from sklearn.preprocessing import MinMaxScaler
|
||||
|
||||
no_of_rows = 100
|
||||
|
||||
@@ -67,9 +68,9 @@ def test_evaluation():
|
||||
window_length = 10
|
||||
|
||||
model = EvenOddStubModel(window_length = window_length)
|
||||
scaler = None
|
||||
scaler = MinMaxScaler()
|
||||
|
||||
models, predictions, probs = walk_forward_train_test(
|
||||
models, scalers = walk_forward_train(
|
||||
model_name='test',
|
||||
model=model,
|
||||
X=X,
|
||||
@@ -78,7 +79,14 @@ def test_evaluation():
|
||||
expanding_window=False,
|
||||
window_size=window_length,
|
||||
retrain_every=10,
|
||||
scaler=scaler
|
||||
scaler=scaler)
|
||||
predictions, probs = walk_forward_inference(
|
||||
model_name='test',
|
||||
models=models,
|
||||
scalers=scalers,
|
||||
X=X,
|
||||
expanding_window=False,
|
||||
window_size=window_length
|
||||
)
|
||||
|
||||
# verify if predictions are the same as y
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
from training.walk_forward import walk_forward_train_test
|
||||
from training.walk_forward import walk_forward_train, walk_forward_inference
|
||||
from models.base import Model
|
||||
from sklearn.preprocessing import MinMaxScaler
|
||||
|
||||
no_of_rows = 100
|
||||
|
||||
@@ -65,9 +66,9 @@ def test_walk_forward_train_test():
|
||||
window_length = 10
|
||||
|
||||
model = IncrementingStubModel(window_length = window_length)
|
||||
scaler = None
|
||||
scaler = MinMaxScaler()
|
||||
|
||||
models, predictions, probs = walk_forward_train_test(
|
||||
models, scalers = walk_forward_train(
|
||||
model_name='test',
|
||||
model=model,
|
||||
X=X,
|
||||
@@ -77,6 +78,14 @@ def test_walk_forward_train_test():
|
||||
window_size=window_length,
|
||||
retrain_every=10,
|
||||
scaler=scaler)
|
||||
predictions, probs = walk_forward_inference(
|
||||
model_name='test',
|
||||
models=models,
|
||||
scalers=scalers,
|
||||
X=X,
|
||||
expanding_window=False,
|
||||
window_size=window_length
|
||||
)
|
||||
|
||||
# verify if predictions are the same as y
|
||||
for i in range(window_length+2, no_of_rows):
|
||||
|
||||
Reference in New Issue
Block a user