SavitzkyGolay#
- class chemotools.derivative.SavitzkyGolay(window_length: int = 3, polyorder: int = 1, deriv: int = 1, mode: Literal['mirror', 'constant', 'nearest', 'wrap', 'interp'] = 'nearest', window_size='deprecated', polynomial_order='deprecated', derivate_order='deprecated')[source]
Bases:
TransformerMixin,OneToOneFeatureMixin,BaseEstimatorA transformer that calculates the Savitzky-Golay derivative of the input data.
- Parameters:
window_length (int, optional, default=3) – The size of the window to use for the derivative calculation. Must be odd. Default is 3.
polyorder (int, optional, default=1) – The order of the polynomial to use for the derivative calculation. Must be less than
window_length. Default is 1.deriv (int, optional, default=1) – The order of the derivative to calculate. Default is 1.
window_size (int, optional) – Deprecated alias for
window_length.polynomial_order (int, optional) – Deprecated alias for
polyorder.derivate_order (int, optional) – Deprecated alias for
deriv.mode (str, optional, default="nearest") – The mode to use for the derivative calculation. Can be “nearest”, “constant”, “reflect”, “wrap”, “mirror” or “interp”. Default is “nearest”.
- Variables:
n_features_in (int) – The number of features in the input data.
References
- [1] Åsmund Rinnan, Frans van den Berg, Søren Balling Engelsen,
“Review of the most common pre-processing techniques for near-infrared spectra,” TrAC Trends in Analytical Chemistry 28 (10) 1201-1222 (2009).
Examples
>>> from chemotools.derivative import SavitzkyGolay >>> from chemotools.datasets import load_fermentation_train >>> # Load sample data >>> X, _ = load_fermentation_train() >>> # Instantiate the transformer >>> transformer = SavitzkyGolay(window_length=3, polyorder=1) SavitzkyGolay() >>> transformer.fit(X) >>> # Calculate Savitzky-Golay derivative >>> X_corrected = transformer.transform(X)
- fit(X: ndarray, y=None) SavitzkyGolay[source]
Fit the transformer to the input data.
- Parameters:
X (np.ndarray of shape (n_samples, n_features)) – The input data to fit the transformer to.
y (None) – Ignored to align with API.
- Returns:
self – The fitted transformer.
- Return type:
SavitzkyGolay
- transform(X: ndarray, y=None) ndarray[source]
Transform the input data by calculating the Savitzky-Golay derivative.
- Parameters:
X (np.ndarray of shape (n_samples, n_features)) – The input data to transform.
y (None) – Ignored to align with API.
- Returns:
X_transformed – The transformed data.
- Return type:
np.ndarray of shape (n_samples, n_features)