INNER CODE UNIT · Python

_add_ar1_mf_fidelity_feature

fabsig/GPBoost · python-package/gpboost/engine.py:22

def _add_ar1_mf_fidelity_feature(dataset, fidelity):
    """Append the AR1 multifidelity indicator as an additional boosting feature to a Dataset."""
    fidelity = np.asarray(fidelity).reshape(-1)
    if getattr(dataset, "_ar1_mf_fidelity_added", False):
        if not np.array_equal(fidelity, dataset._ar1_mf_fidelity):
            raise ValueError("This Dataset already contains a different AR1 multifidelity indicator")
        return
    if dataset.data is None or not hasattr(dataset.data, "shape"):
        raise ValueError("Fidelity-specific GPBoost means require retained matrix-like Dataset data")
    if fidelity.shape[0] != dataset.data.shape[0] or not np.all(np.isin(fidelity, (0., 1.))):
        raise ValueError("The AR1 multifidelity indicator must contain one value (0 or 1) per Dataset row")
    if dataset.handle is not None:
        dataset._free_handle()
    if scipy.sparse.issparse(dataset.data):
        dataset.data = scipy.sparse.hstack((dataset.data, fidelity[:, None]), format=dataset.data.format)
    elif isinstance(dataset.data, pd_DataFrame):
        dataset.data = dataset.data.copy()
        dataset.data["AR1_MF_fidelity"] = fidelity

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…