INNER CODE UNIT · Python
fidelity
fabsig/GPBoost · python-package/gpboost/engine.py:24
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
else:
dataset.data = np.column_stack((dataset.data, fidelity))