nirs4all.operators.models.sklearn.pcr module
Principal Component Regression (PCR) for nirs4all.
A sklearn-compatible PCR estimator: PCA-based dimensionality reduction followed by ordinary least-squares linear regression on the principal components. Classic chemometrics baseline alongside PLS.
- class nirs4all.operators.models.sklearn.pcr.PCR(n_components: int = 10)[source]
Bases:
RegressorMixin,BaseEstimatorPrincipal Component Regression.
Fits a PCA on X then regresses Y on the retained scores using ordinary least squares.
- Parameters:
n_components (int, default=10) – Number of principal components to retain.
- fit(X: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], y: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) PCR[source]
- predict(X: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) ndarray[tuple[Any, ...], dtype[floating]][source]
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') PCR
Configure whether metadata should be requested to be passed to the
scoremethod.Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with
enable_metadata_routing=True(seesklearn.set_config()). Please check the User Guide on how the routing mechanism works.The options for each parameter are:
True: metadata is requested, and passed toscoreif provided. The request is ignored if metadata is not provided.False: metadata is not requested and the meta-estimator will not pass it toscore.None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.str: metadata should be passed to the meta-estimator with this given alias instead of the original name.
The default (
sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.Added in version 1.3.