kappaml_core.meta package

Submodules

kappaml_core.meta.base module

class kappaml_core.meta.base.MetaEstimator(models: ~typing.List[~river.base.regressor.Regressor | ~river.base.classifier.Classifier], meta_learner: ~river.base.classifier.Classifier = HoeffdingTreeClassifier (   grace_period=200   max_depth=980   split_criterion="info_gain"   delta=1e-07   tau=0.05   leaf_prediction="nba"   nb_threshold=0   nominal_attributes=None   splitter=GaussianSplitter (     n_splits=10   )   binary_split=False   min_branch_fraction=0.01   max_share_to_split=0.99   max_size=100.   memory_estimate_period=1000000   stop_mem_management=False   remove_poor_attrs=False   merit_preprune=True ), metric: ~river.metrics.base.Metric = MAE: 0., mfe_groups: list = ['general'], window_size: int = 200, meta_update_frequency: int = 50)[source]

Bases: ModelSelector

Meta-estimator for model selection using meta-learning.

This implements a meta-estimator that uses a list of base estimator models and a meta learner. The meta learner uses meta features from stream characteristics to select the best base estimator at a given point in time.

Parameters:
  • models (list of Estimator) – A list of base estimator models.

  • meta_learner (Classifier) – default=HoeffdingTreeClassifier Meta learner used to predict the best base estimator.

  • metric (Metric) – Metric used to evaluate the performance of the base estimators.

  • mfe_groups (list (default=['general'])) – Groups of meta-features to use from PyMFE

  • window_size (int (default=200)) – The size of the window used for extracting meta-features.

  • meta_update_frequency (int (default=50)) – How frequently to extract meta-features and update the meta-learner. Higher values mean less frequent updates but more stable meta-model.

property best_model

The current best model.

learn_one(x, y)[source]
predict_one(x)[source]

kappaml_core.meta.meta_classifier module

class kappaml_core.meta.meta_classifier.MetaClassifier(models: ~typing.List[~river.base.classifier.Classifier], meta_learner: ~river.base.classifier.Classifier = HoeffdingTreeClassifier (   grace_period=200   max_depth=980   split_criterion="info_gain"   delta=1e-07   tau=0.05   leaf_prediction="nba"   nb_threshold=0   nominal_attributes=None   splitter=GaussianSplitter (     n_splits=10   )   binary_split=False   min_branch_fraction=0.01   max_share_to_split=0.99   max_size=100.   memory_estimate_period=1000000   stop_mem_management=False   remove_poor_attrs=False   merit_preprune=True ), metric=Accuracy: 0.00%, mfe_groups: list = ['general'], window_size: int = 200, meta_update_frequency: int = 50)[source]

Bases: MetaEstimator, ModelSelectionClassifier

Meta-classifier.

This implements a meta-classifier that uses a list of base classifier models and a meta learner. The meta learner uses meta features from stream characteristics to select the best base classifier at a given point in time.

Parameters:
  • models (list of Classifier) – A list of base classifier models.

  • meta_learner (Classifier) – default=HoeffdingTreeClassifier Meta learner used to predict the best base estimator.

  • metric (Metric) – default=Accuracy Metric used to evaluate the performance of the base classifiers.

  • mfe_groups (list (default=['general'])) – Groups of meta-features to use from PyMFE

  • window_size (int (default=200)) – The size of the window used for extracting meta-features.

  • meta_update_frequency (int (default=50)) – How frequently to extract meta-features and update the meta-learner. Higher values mean less frequent updates but more stable meta-model.

kappaml_core.meta.meta_regressor module

class kappaml_core.meta.meta_regressor.MetaRegressor(models: ~typing.List[~river.base.regressor.Regressor], meta_learner: ~river.base.classifier.Classifier = HoeffdingTreeClassifier (   grace_period=200   max_depth=980   split_criterion="info_gain"   delta=1e-07   tau=0.05   leaf_prediction="nba"   nb_threshold=0   nominal_attributes=None   splitter=GaussianSplitter (     n_splits=10   )   binary_split=False   min_branch_fraction=0.01   max_share_to_split=0.99   max_size=100.   memory_estimate_period=1000000   stop_mem_management=False   remove_poor_attrs=False   merit_preprune=True ), metric=MAE: 0., mfe_groups: list = ['general'], window_size: int = 200, meta_update_frequency: int = 50)[source]

Bases: MetaEstimator, ModelSelectionRegressor

Meta-regressor for model selection using meta-learning.

This implements a meta-regressor that uses a list of base regressor models and a meta learner. The meta learner uses meta features from stream characteristics to select the best base regressor at a given point in time.

Parameters:
  • models (list of Regressor) – A list of base regressor models.

  • meta_learner (Classifier) – default=HoeffdingTreeClassifier Meta learner used to predict the best base estimator.

  • metric (Metric) – default=MAE Metric used to evaluate the performance of the base regressors.

  • mfe_groups (list (default=['general'])) – Groups of meta-features to use from PyMFE

  • window_size (int (default=200)) – The size of the window used for extracting meta-features.

  • meta_update_frequency (int (default=50)) – How frequently to extract meta-features and update the meta-learner. Higher values mean less frequent updates but more stable meta-model.

Module contents

The kappaml_core.meta module contains meta-learning algorithms

class kappaml_core.meta.MetaClassifier(models: ~typing.List[~river.base.classifier.Classifier], meta_learner: ~river.base.classifier.Classifier = HoeffdingTreeClassifier (   grace_period=200   max_depth=980   split_criterion="info_gain"   delta=1e-07   tau=0.05   leaf_prediction="nba"   nb_threshold=0   nominal_attributes=None   splitter=GaussianSplitter (     n_splits=10   )   binary_split=False   min_branch_fraction=0.01   max_share_to_split=0.99   max_size=100.   memory_estimate_period=1000000   stop_mem_management=False   remove_poor_attrs=False   merit_preprune=True ), metric=Accuracy: 0.00%, mfe_groups: list = ['general'], window_size: int = 200, meta_update_frequency: int = 50)[source]

Bases: MetaEstimator, ModelSelectionClassifier

Meta-classifier.

This implements a meta-classifier that uses a list of base classifier models and a meta learner. The meta learner uses meta features from stream characteristics to select the best base classifier at a given point in time.

Parameters:
  • models (list of Classifier) – A list of base classifier models.

  • meta_learner (Classifier) – default=HoeffdingTreeClassifier Meta learner used to predict the best base estimator.

  • metric (Metric) – default=Accuracy Metric used to evaluate the performance of the base classifiers.

  • mfe_groups (list (default=['general'])) – Groups of meta-features to use from PyMFE

  • window_size (int (default=200)) – The size of the window used for extracting meta-features.

  • meta_update_frequency (int (default=50)) – How frequently to extract meta-features and update the meta-learner. Higher values mean less frequent updates but more stable meta-model.

class kappaml_core.meta.MetaRegressor(models: ~typing.List[~river.base.regressor.Regressor], meta_learner: ~river.base.classifier.Classifier = HoeffdingTreeClassifier (   grace_period=200   max_depth=980   split_criterion="info_gain"   delta=1e-07   tau=0.05   leaf_prediction="nba"   nb_threshold=0   nominal_attributes=None   splitter=GaussianSplitter (     n_splits=10   )   binary_split=False   min_branch_fraction=0.01   max_share_to_split=0.99   max_size=100.   memory_estimate_period=1000000   stop_mem_management=False   remove_poor_attrs=False   merit_preprune=True ), metric=MAE: 0., mfe_groups: list = ['general'], window_size: int = 200, meta_update_frequency: int = 50)[source]

Bases: MetaEstimator, ModelSelectionRegressor

Meta-regressor for model selection using meta-learning.

This implements a meta-regressor that uses a list of base regressor models and a meta learner. The meta learner uses meta features from stream characteristics to select the best base regressor at a given point in time.

Parameters:
  • models (list of Regressor) – A list of base regressor models.

  • meta_learner (Classifier) – default=HoeffdingTreeClassifier Meta learner used to predict the best base estimator.

  • metric (Metric) – default=MAE Metric used to evaluate the performance of the base regressors.

  • mfe_groups (list (default=['general'])) – Groups of meta-features to use from PyMFE

  • window_size (int (default=200)) – The size of the window used for extracting meta-features.

  • meta_update_frequency (int (default=50)) – How frequently to extract meta-features and update the meta-learner. Higher values mean less frequent updates but more stable meta-model.