macrosynergy.learning.forecasting.torch.trainer#
- class MLPTrainer(train_pct=0.8, batch_size=256, use_ts_sampler=False, learning_rate=0.001, weight_decay=0.0, epochs=50, loss_fn=MSELoss(), x_scaler=StandardScaler(with_mean=False), y_scaler=StandardScaler(with_mean=False), patience=5, reg_turnover=0.0, random_state=0, verbose=False)[source]#
Bases:
objectTrainer utility for fitting a PyTorch regression model with time-based train/validation splitting, optional scaling, and early stopping.
- Parameters:
train_pct (float, optional) – Fraction of unique dates used for the training set (remainder used for validation). Default is 0.8.
batch_size (int, optional) – Batch size used by the training and evaluation dataloaders. Default is 256.
use_ts_sampler (bool, optional) – Whether to use a time-series batch sampler (contiguous batches by time order) instead of random shuffling. Default is False.
learning_rate (float, optional) – Learning rate used by the AdamW optimizer. Default is 1e-3.
weight_decay (float, optional) – Weight decay (L2 penalty) used by the AdamW optimizer. Default is 0.0.
epochs (int, optional) – Maximum number of training epochs. Default is 50.
loss_fn (torch.nn.Module, optional) – Loss function used for optimization. Default is
nn.MSELoss().x_scaler (object or None, optional) – Feature scaler implementing
fitandtransform(e.g.StandardScaler). If None, no scaling is applied to inputs. Default isStandardScaler(with_mean=False).y_scaler (object or None, optional) – Target scaler implementing
fitandtransform(e.g.StandardScaler). If None, no scaling is applied to targets. Default isStandardScaler(with_mean=False).patience (int, optional) – Number of epochs without validation improvement tolerated before early stopping. Default is 5.
reg_turnover (float, optional) – Strength of an L1 penalty on successive prediction differences, intended to discourage excessive turnover. If 0, no turnover penalty is applied. Default is 0.0.
random_state (int, optional) – Random seed used for PyTorch initialization and training. Default is 0.
verbose (bool, optional) – Whether to print periodic training diagnostics. Default is False.