macrosynergy.learning.forecasting.meta_estimators.probability#
- class ProbabilityEstimator(classifier)[source]#
Bases:
BaseEstimator,MetaEstimatorMixin,ClassifierMixinMeta estimator to create trading signals based on the probability of going long.
- Parameters:
classifier (ClassifierMixin) – A scikit-learn classifier.
Notes
This class stores feature importances as the feature importances of the base estimator as well as defining a create_signal method that returns the probability of going long in excess of 0.5. This is taken into account when used in the SignalOptimizer class in this package.
- fit(X, y)[source]#
Fit the underlying classifier.
- Parameters:
X (pd.DataFrame or np.ndarray) – Pandas dataframe or numpy array of input features.
y (pd.Series or pd.DataFrame or np.ndarray) – Pandas series, dataframe or numpy array of targets associated with each sample in X.
- predict(X)[source]#
Predict the class labels for the provided data.
- Parameters:
X (pd.DataFrame or numpy array) – Input feature matrix.
- Returns:
y_pred – Numpy array of predictions.
- Return type:
np.ndarray
- create_signal(X)[source]#
Create a trading signal based on the probability of going long.
- Parameters:
X (pd.DataFrame or numpy array) – Input feature matrix.
- Returns:
y_pred – Numpy array of signals.
- Return type:
np.ndarray
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') ProbabilityEstimator#
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.