# `feature`

Feature selection.

Feature selection identifies the subset of features that are most relevant
to the learning task. In data stream learning, feature relevance can change
over time, so importance must be estimated and updated incrementally.

## Classes

| [`FeatureImportanceClassifier`](capymoa.feature.FeatureImportanceClassifier.md#capymoa.feature.FeatureImportanceClassifier)       | Base class for classifiers that expose feature-importance estimates.   |
|--------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|
| [`MOAFeatureImportanceClassifier`](capymoa.feature.MOAFeatureImportanceClassifier.md#capymoa.feature.MOAFeatureImportanceClassifier) | MOA-backed feature-importance classifier.                              |

## Functions

| [`plot_feature_importance`](#capymoa.feature.plot_feature_importance)          | Plot feature importances as a bar chart.     |
|-----------------------------------------------------------------------------------|----------------------------------------------|
| [`plot_windowed_feature_importance`](#capymoa.feature.plot_windowed_feature_importance) | Plot windowed feature importances over time. |

### capymoa.feature.plot_feature_importance(importances: [Sequence](https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence)[[float](https://docs.python.org/3/builtins/functions.html#float)], feature_names: [Sequence](https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence)[[str](https://docs.python.org/3/builtins/stdtypes.html#str)] | [str](https://docs.python.org/3/builtins/stdtypes.html#str) | [None](https://docs.python.org/3/builtins/constants.html#None) = None, \*, top_k: [int](https://docs.python.org/3/builtins/functions.html#int) | [None](https://docs.python.org/3/builtins/constants.html#None) = None, ax=None, title: [str](https://docs.python.org/3/builtins/stdtypes.html#str) = 'Feature importances')[[source]](https://github.com/adaptive-machine-learning/CapyMOA/blob/3e255b1/src/capymoa/feature/visualization.py#L26)

Plot feature importances as a bar chart.

### capymoa.feature.plot_windowed_feature_importance(windowed_importances: [list](https://docs.python.org/3/builtins/stdtypes.html#list)[[dict](https://docs.python.org/3/builtins/stdtypes.html#dict)], feature_names: [Sequence](https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence)[[str](https://docs.python.org/3/builtins/stdtypes.html#str)] | [str](https://docs.python.org/3/builtins/stdtypes.html#str) | [None](https://docs.python.org/3/builtins/constants.html#None) = None, \*, top_k: [int](https://docs.python.org/3/builtins/functions.html#int) | [None](https://docs.python.org/3/builtins/constants.html#None) = None, ax=None, title: [str](https://docs.python.org/3/builtins/stdtypes.html#str) = 'Windowed feature importances')[[source]](https://github.com/adaptive-machine-learning/CapyMOA/blob/3e255b1/src/capymoa/feature/visualization.py#L57)

Plot windowed feature importances over time.
