vorob_t#

moocore.vorob_t(data, /, sets, *, ref)[source]#

Compute Vorob’ev threshold and expectation.

See also

For the definition of these concepts, see Vorob’ev Expectation and Deviation.

Parameters:
  • data (ArrayLike) – Matrix of numerical values that represents multiple sets of points, where each row represents a point.

  • sets (ArrayLike) – Vector that indicates the set of each point in data.

  • ref (ArrayLike) – Reference point as a 1D vector. Must be same length as a single point in the data.

Returns:

dict – A dictionary with elements threshold, ve, and avg_hyp (average hypervolume). The threshold is returned as a percentile \(\beta^{*} \in [0,100]\). The expectation \(\mathcal{Q}_{\beta^{*}}\) is returned as a 2D array (np.ndarray). In addition, the hypervolume of the expectation is returned as avg_hyp.

See also

vorob_dev

Compute Vorob’ev deviation.

Examples

>>> CPFs = moocore.get_dataset("CPFs.txt")
>>> res = moocore.vorob_t(CPFs[:, :-1], sets=CPFs[:, -1], ref=(2, 200))
>>> res["threshold"]
44.140625
>>> res["avg_hyp"]
8943.333191728081
>>> res["ve"].shape
(213, 2)