macrosynergy.learning.forecasting.meta_estimators.weighted_predictors#
- class TimeWeightedWrapper(model, half_life)[source]#
Bases:
BaseEstimator,RegressorMixinMeta-estimator that applies time-based weighting to samples during model fitting.
- Parameters:
model (BaseEstimator) – An instance of a scikit-learn compatible regression model.
half_life (float) – The half-life parameter for the exponential decay weighting.
- fit(X, y)[source]#
Fit the underlying model with time weights applied.
- Parameters:
X (pandas.DataFrame or np.ndarray) – The feature matrix.
y (pandas.Series or np.ndarray) – The target vector.
- predict(X)[source]#
Predict using the underlying model.
- Parameters:
X (pandas.DataFrame or np.ndarray) – The feature matrix.
- Returns:
predictions – The predicted values.
- Return type:
np.ndarray
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') TimeWeightedWrapper#
Configure whether metadata should be requested to be passed to the
scoremethod.Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with
enable_metadata_routing=True(seesklearn.set_config()). Please check the User Guide on how the routing mechanism works.The options for each parameter are:
True: metadata is requested, and passed toscoreif provided. The request is ignored if metadata is not provided.False: metadata is not requested and the meta-estimator will not pass it toscore.None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.str: metadata should be passed to the meta-estimator with this given alias instead of the original name.
The default (
sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.New in version 1.3.