nirs4all.sklearn.classifier module
sklearn-compatible classification pipeline wrapper for nirs4all.
NIRSPipelineClassifier is the classification variant of NIRSPipeline, providing ClassifierMixin compatibility for sklearn tools.
- class nirs4all.sklearn.classifier.NIRSPipelineClassifier[source]
Bases:
NIRSPipelinesklearn-compatible classifier wrapper for trained nirs4all pipelines.
This is the classification variant of NIRSPipeline, providing ClassifierMixin compatibility (predict_proba, classes_).
- Construction:
Use class methods to create instances: - NIRSPipelineClassifier.from_result(result): From a RunResult - NIRSPipelineClassifier.from_bundle(path): From an exported .n4a bundle
- Additional Attributes:
classes_: Array of class labels.
- Additional Methods:
predict_proba(X): Predict class probabilities.
Example
>>> result = nirs4all.run(classification_pipeline, dataset) >>> clf = NIRSPipelineClassifier.from_result(result) >>> proba = clf.predict_proba(X_new) >>> print(f"Accuracy: {clf.score(X_test, y_test):.4f}")
- property classes_: ndarray
Get array of class labels.
- Returns:
Array of unique class labels.
- Raises:
RuntimeError – If classes cannot be determined.
- classmethod from_bundle(bundle_path: str | Path, fold: int = 0) NIRSPipelineClassifier[source]
Create NIRSPipelineClassifier from an exported .n4a bundle.
- Parameters:
bundle_path – Path to the exported .n4a bundle file.
fold – Which fold’s model to use (default: 0).
- Returns:
NIRSPipelineClassifier instance ready for prediction.
Example
>>> clf = NIRSPipelineClassifier.from_bundle("exports/classifier.n4a") >>> proba = clf.predict_proba(X_new)
- classmethod from_result(result: RunResult, source: Dict[str, Any] | None = None, fold: int = 0) NIRSPipelineClassifier[source]
Create NIRSPipelineClassifier from a RunResult.
- Parameters:
result – RunResult from nirs4all.run() with a classification pipeline.
source – Optional prediction dict to wrap. If None, uses best model.
fold – Which fold’s model to use (default: 0).
- Returns:
NIRSPipelineClassifier instance ready for prediction.
Example
>>> result = nirs4all.run(classification_pipeline, dataset) >>> clf = NIRSPipelineClassifier.from_result(result)
- predict(X: ndarray) ndarray[source]
Predict class labels for samples.
- Parameters:
X – Feature matrix (n_samples, n_features).
- Returns:
Predicted class labels (n_samples,).
Example
>>> clf = NIRSPipelineClassifier.from_bundle("model.n4a") >>> y_pred = clf.predict(X_test)
- predict_proba(X: ndarray) ndarray[source]
Predict class probabilities for samples.
- Parameters:
X – Feature matrix (n_samples, n_features).
- Returns:
Class probability matrix (n_samples, n_classes).
- Raises:
RuntimeError – If model doesn’t support predict_proba.
Example
>>> clf = NIRSPipelineClassifier.from_bundle("model.n4a") >>> proba = clf.predict_proba(X_test) >>> print(f"Probability of class 0: {proba[:, 0]}")
- score(X: ndarray, y: ndarray) float[source]
Compute accuracy score on test data.
- Parameters:
X – Feature matrix (n_samples, n_features).
y – True class labels (n_samples,).
- Returns:
Accuracy score (fraction correctly classified).
Example
>>> clf = NIRSPipelineClassifier.from_bundle("model.n4a") >>> accuracy = clf.score(X_test, y_test) >>> print(f"Accuracy: {accuracy:.4f}")