diff --git a/src/preprocessing/spectral_Preprocessing.py b/src/preprocessing/spectral_Preprocessing.py index f309c3b..1b05560 100644 --- a/src/preprocessing/spectral_Preprocessing.py +++ b/src/preprocessing/spectral_Preprocessing.py @@ -502,12 +502,15 @@ class PhysicalFeatureExtractor(TransformerMixin, BaseEstimator, _ArrayAsFloat64) a = X[:, ia]; b = X[:, ib] if ftype == 'ratio': denom = a + b - denom = np.where(np.abs(denom) < 1e-12, np.sign(denom) * 1e-12, denom) + denom = np.where(np.abs(denom) < 1e-12, 1e-12, denom) feats.append(((a - b) / denom).reshape(-1, 1)) else: # ratio_single - denom = np.where(np.abs(b) < 1e-12, np.sign(b) * 1e-12, b) + denom = np.where(np.abs(b) < 1e-12, 1e-12, b) feats.append((a / denom).reshape(-1, 1)) - return np.hstack(feats) + out = np.hstack(feats) + out = np.nan_to_num(out, nan=0.0, posinf=0.0, neginf=0.0) + out = np.clip(out, -1e15, 1e15) + return out # ============================================================================