Response Modification
Utilities to get the response values of a classifier or a regressor.
Modification of the existing scikit-learn module thats is compatible with ordinal regression estimators.
It allows to make uniform checks and validation.
- ordinal_xai.utils._response_modified._process_predict_proba(*, y_pred, target_type, classes, pos_label)[source]
Get the response values when the response method is predict_proba.
This function process the y_pred array in the binary and multi-label cases. In the binary case, it selects the column corresponding to the positive class. In the multi-label case, it stacks the predictions if they are not in the “compressed” format (n_samples, n_outputs).
- Parameters:
y_pred (ndarray) –
Output of estimator.predict_proba. The shape depends on the target type:
for binary classification, it is a 2d array of shape (n_samples, 2);
for multiclass classification, it is a 2d array of shape (n_samples, n_classes);
for multilabel classification, it is either a list of 2d arrays of shape (n_samples, 2) (e.g. RandomForestClassifier or KNeighborsClassifier) or an array of shape (n_samples, n_outputs) (e.g. MLPClassifier or RidgeClassifier).
target_type ({"binary", "multiclass", "multilabel-indicator"}) – Type of the target.
classes (ndarray of shape (n_classes,) or list of such arrays) – Class labels as reported by estimator.classes_.
pos_label (int, float, bool or str) – Only used with binary and multiclass targets.
- Returns:
y_pred – Compressed predictions format as requested by the metrics.
- Return type:
ndarray of shape (n_samples,), (n_samples, n_classes) or (n_samples, n_output)
- ordinal_xai.utils._response_modified._process_decision_function(*, y_pred, target_type, classes, pos_label)[source]
Get the response values when the response method is decision_function.
This function process the y_pred array in the binary and multi-label cases. In the binary case, it inverts the sign of the score if the positive label is not classes[1]. In the multi-label case, it stacks the predictions if they are not in the “compressed” format (n_samples, n_outputs).
- Parameters:
y_pred (ndarray) –
Output of estimator.decision_function. The shape depends on the target type:
for binary classification, it is a 1d array of shape (n_samples,) where the sign is assuming that classes[1] is the positive class;
for multiclass classification, it is a 2d array of shape (n_samples, n_classes);
for multilabel classification, it is a 2d array of shape (n_samples, n_outputs).
target_type ({"binary", "multiclass", "multilabel-indicator"}) – Type of the target.
classes (ndarray of shape (n_classes,) or list of such arrays) – Class labels as reported by estimator.classes_.
pos_label (int, float, bool or str) – Only used with binary and multiclass targets.
- Returns:
y_pred – Compressed predictions format as requested by the metrics.
- Return type:
ndarray of shape (n_samples,), (n_samples, n_classes) or (n_samples, n_output)
- ordinal_xai.utils._response_modified._get_response_values(estimator, X, response_method, pos_label=None, return_response_method_used=False)[source]
Compute the response values of a classifier, an outlier detector, or a regressor.
The response values are predictions such that it follows the following shape:
for binary classification, it is a 1d array of shape (n_samples,);
for multiclass classification, it is a 2d array of shape (n_samples, n_classes);
for multilabel classification, it is a 2d array of shape (n_samples, n_outputs);
for outlier detection, it is a 1d array of shape (n_samples,);
for regression, it is a 1d array of shape (n_samples,).
If estimator is a binary classifier, also return the label for the effective positive class.
This utility is used primarily in the displays and the scikit-learn scorers.
Added in version 1.3.
- Parameters:
estimator (estimator instance) – Fitted classifier, outlier detector, or regressor or a fitted
Pipelinein which the last estimator is a classifier, an outlier detector, or a regressor.X ({array-like, sparse matrix} of shape (n_samples, n_features)) – Input values.
response_method ({"predict_proba", "predict_log_proba", "decision_function", "predict"} or list of such str) –
Specifies the response method to use get prediction from an estimator (i.e. predict_proba, predict_log_proba, decision_function or predict). Possible choices are:
if str, it corresponds to the name to the method to return;
if a list of str, it provides the method names in order of preference. The method returned corresponds to the first method in the list and which is implemented by estimator.
pos_label (int, float, bool or str, default=None) – The class considered as the positive class when computing the metrics. If None and target is ‘binary’, estimators.classes_[1] is considered as the positive class.
return_response_method_used (bool, default=False) –
Whether to return the response method used to compute the response values.
Added in version 1.4.
- Returns:
y_pred (ndarray of shape (n_samples,), (n_samples, n_classes) or (n_samples, n_outputs)) – Target scores calculated from the provided response_method and pos_label.
pos_label (int, float, bool, str or None) – The class considered as the positive class when computing the metrics. Returns None if estimator is a regressor or an outlier detector.
response_method_used (str) – The response method used to compute the response values. Only returned if return_response_method_used is True.
Added in version 1.4.
- Raises:
ValueError – If pos_label is not a valid label. If the shape of y_pred is not consistent for binary classifier. If the response method can be applied to a classifier only and estimator is a regressor.
- ordinal_xai.utils._response_modified._get_response_values_binary(estimator, X, response_method, pos_label=None, return_response_method_used=False)[source]
Compute the response values of a binary classifier.
- Parameters:
estimator (estimator instance) – Fitted classifier or a fitted
Pipelinein which the last estimator is a binary classifier.X ({array-like, sparse matrix} of shape (n_samples, n_features)) – Input values.
response_method ({'auto', 'predict_proba', 'decision_function'}) – Specifies whether to use predict_proba or decision_function as the target response. If set to ‘auto’, predict_proba is tried first and if it does not exist decision_function is tried next.
pos_label (int, float, bool or str, default=None) – The class considered as the positive class when computing the metrics. By default, estimators.classes_[1] is considered as the positive class.
return_response_method_used (bool, default=False) –
Whether to return the response method used to compute the response values.
Added in version 1.5.
- Returns:
y_pred (ndarray of shape (n_samples,)) – Target scores calculated from the provided response_method and pos_label.
pos_label (int, float, bool or str) – The class considered as the positive class when computing the metrics.
response_method_used (str) – The response method used to compute the response values. Only returned if return_response_method_used is True.
Added in version 1.5.
This module contains internal utilities for response modification: - Helper functions for response transformation - Support for ordinal model predictions