Skip to content

Ensemble

flowcean.ensemble combines learners and models, including cluster-based selection.

ensemble

Classes

ClusterLearner

ClusterLearner(cluster_feature: str, learner: SupervisedLearner, *, remove_cluster_feature: bool = True)

Bases: SupervisedLearner

Attributes
cluster_feature instance-attribute
cluster_feature = cluster_feature
learner instance-attribute
learner = learner
exclude_cluster_feature instance-attribute
exclude_cluster_feature = remove_cluster_feature
Methods:
learn
learn(inputs: LazyFrame, outputs: LazyFrame) -> ClusterModel

ClusterModel

ClusterModel(cluster_feature: str, cluster_model_mapping: dict[int, Model], *, exclude_cluster_feature: bool = False)

Bases: Model

Attributes
cluster_feature instance-attribute
cluster_feature = cluster_feature
cluster_model_mapping instance-attribute
cluster_model_mapping = cluster_model_mapping
exclude_cluster_feature instance-attribute
exclude_cluster_feature = exclude_cluster_feature

EnsembleLearner

EnsembleLearner(*learners: SupervisedLearner)

Bases: SupervisedLearner

Ensemble learner that combines multiple supervised learners.

The ensemble learner trains each of its constituent learners sequentially. After each learner is trained, its residual errors are calculated and used as the target outputs for the next learner in the sequence.

The final model produced by the ensemble learner combines the predictions of all constituent models by summing their outputs.

This learner works with any supervised learner and arbitrary data types supported by those learners, as long as the Data type is consistent across all learners and implements __add__ and __sub__ operations. Special handling is included for Polars DataFrames and LazyFrames to be compatible with the default flowcean learners.

Initialize the ensemble learner.

Parameters:

Name Type Description Default
learners SupervisedLearner

A tuple of supervised learner instances to combine.

()
Attributes
learners instance-attribute
learners = learners
Methods:
learn
learn(inputs: Data, outputs: Data) -> EnsembleModel

EnsembleModel

EnsembleModel(*models: Model)

Bases: Model

Ensemble model that combines multiple models.

Initialize the ensemble model.

Parameters:

Name Type Description Default
models Model

The tuple of models to combine.

()
Attributes
models instance-attribute
models = models