holisticai.explainability.metrics.spread_ratio#

holisticai.explainability.metrics.spread_ratio(feature_importance: ndarray | list[float] | Series)[source]#

The spread ratio, ranging from 0 to 1, measures the degree of evenness or concentration in the distribution of feature importance values. A higher spread ratio indicates a more evenly distributed feature importance, while a lower spread ratio indicates a more concentrated feature importance. A lower ratio concentrates the importances and facilitates interpretability.

Parameters

feature_importance: ArrayLike

The feature importance values for the features.

Returns

float:

The spread ratio of the feature importance.

Examples

>>> from holisticai.explainability.metrics.global_feature_importance import (
...     spread_ratio,
... )
>>> feature_importance = np.array([0.10, 0.20, 0.30])
>>> score = spread_ratio(feature_importance)
0.9206198357143052