seqme.metrics.Hypervolume

seqme.metrics.Hypervolume#

class seqme.metrics.Hypervolume(predictors, *, method='hvi', nadir=None, ideal=None, strict=True, name='Hypervolume')[source]#

Computes the Hypervolume metric for multi-objective optimization.

This metric evaluates how well the generated sequences cover the approximate Pareto front by computing the hypervolume of the sequences’ properties as evaluated by the predictors. Higher hypervolume indicates better coverage of the Pareto front.

Two types of hypervolume computation are supported:
  • Hypervolume indicator [1]

  • Convex-hull

References

[1] Zitler, E., and Thiele, L., “Multiobjective Evolutionary Algorithms: A Comparative Case Study and the Strength Pareto Approach,” 1999

(https://www.cse.unr.edu/~sushil/class/gas/papers/StrengthParetoEA.pdf)

__init__(predictors, *, method='hvi', nadir=None, ideal=None, strict=True, name='Hypervolume')[source]#

Initialize the metric.

Parameters:
  • predictors (list[Callable[[list[str]], ndarray]]) – A list of functions. Each function maps a sequence to a numeric value aimed to be maximized.

  • method (Literal['hvi', 'convex-hull']) –

    Which Hypervolume computation method to use

    • 'hvi': Hypervolume indicator

    • 'convex-hull': Volume of the convex-hull

  • nadir (Optional[ndarray]) – Smallest (worst) value in each objective dimension. If None, set to zero vector.

  • ideal (Optional[ndarray]) – Largest (best) value in each objective dimension (used for normalizing points to [0;1]).

  • strict (bool) – If True and values < nadir (or values > ideal) raise an exception.

  • name (str) – Metric name.

__call__(sequences)[source]#

Compute hypervolume for the predicted properties of the input sequences.

Parameters:

sequences (list[str]) – Sequences to evaluate.

Returns:

Hypervolume.

Return type:

MetricResult

Methods

__init__(predictors, *[, method, nadir, ...])

Initialize the metric.

__call__(sequences)

Compute hypervolume for the predicted properties of the input sequences.

Attributes

name

Name of the metric.

objective

Whether lower or higher scores indicate better performance.