mlrl.testbed_sklearn.experiments package

Author Michael Rapp (michael.rapp.ml@gmail.com)

Provides classes that allow running experiments using the scikit-learn framework.

class mlrl.testbed_sklearn.experiments.SkLearnClassificationProblem(base_learner: sklearn.base.BaseEstimator, prediction_type: PredictionType, predictor_factory: PredictorFactory, fit_kwargs: dict[str, Any] | None = None, predict_kwargs: dict[str, Any] | None = None)

Bases: SkLearnProblem, ClassificationProblem

Represents a classification problem to be tackled via the scikit-learn framework.

property feature_dtype: Any

The data type to be used for features.

property output_dtype: Any

The data type to be used for outputs.

class mlrl.testbed_sklearn.experiments.SkLearnExperiment(args: Namespace, initial_state: ExperimentState, dataset_splitter: DatasetSplitter, training_procedure: TrainingProcedure | None = None, prediction_procedure: PredictionProcedure | None = None)

Bases: Experiment

An experiment that trains and evaluates a machine learning model using the scikit-learn framework.

class Builder(initial_state: ExperimentState, dataset_splitter: DatasetSplitter)

Bases: Builder

Allows to configure and create instances of the class SkLearnExperiment.

class PredictionProcedure(problem_domain: SkLearnProblem)

Bases: PredictionProcedure

Allows to obtain predictions from a scikit-learn estimator.

predict(state: ExperimentState) Generator[PredictionState, None, None]

See mlrl.testbed.experiments.experiment.Experiment.PredictionProcedure.predict()

class TrainingProcedure(base_learner: sklearn.base.BaseEstimator, fit_kwargs: dict[str, Any] | None = None)

Bases: TrainingProcedure

Allows to fit a scikit-learn estimator to a training dataset.

train(learner: Any | None, parameters: dict[str, Any], dataset: Any) TrainingState

See mlrl.testbed.experiments.experiment.Experiment.TrainingProcedure.train()

class mlrl.testbed_sklearn.experiments.SkLearnProblem(base_learner: sklearn.base.BaseEstimator, prediction_type: PredictionType, predictor_factory: PredictorFactory, fit_kwargs: dict[str, Any] | None = None, predict_kwargs: dict[str, Any] | None = None)

Bases: ProblemDomain, ABC

An abstract base class for all classes that represent a specific problem domain to be tackled via the scikit-learn framework.

class PredictorFactory

Bases: ABC

An abstract base class for all factories that allow to create instances of type Predictor.

abstractmethod create() Predictor

Creates and returns a new object of type Predictor.

Returns:

The Predictor that has been created

abstract property feature_dtype: Any

The data type to be used for features.

property learner_name: str

See mlrl.testbed.experiments.problem_domain.ProblemDomain.learner_name()

abstract property output_dtype: Any

The data type to be used for outputs.

class mlrl.testbed_sklearn.experiments.SkLearnRegressionProblem(base_learner: sklearn.base.BaseEstimator, prediction_type: PredictionType, predictor_factory: PredictorFactory, fit_kwargs: dict[str, Any] | None = None, predict_kwargs: dict[str, Any] | None = None)

Bases: SkLearnProblem, RegressionProblem

Represents a regression problem to be tackled via the scikit-learn framework.

property feature_dtype: Any

The data type to be used for features.

property output_dtype: Any

The data type to be used for outputs.

Subpackages

Submodules