Multi-Output Calibrated Classifier

class snapml.MultiOutputCalibratedClassifier(estimator, *, n_jobs=None)

Multi Output Calibrated Classifier used for multi-target classification.

This model fits one classifier per target. It can be used for classifiers that do not have native support for multi-target classification.

Parameters
estimatorestimator object

A scikit-learn CalibratedClassifierCV object.

n_jobsint or None, optional (default=None)

The number of jobs to run in parallel. fit() and predict() will be parallelized for each target. When individual estimators are fast to train or predict, using n_jobs > 1 can result in slower performance due to the parallelism overhead. None means 1 unless in a joblib.parallel_backend context. -1 means using all available processes / threads.

Attributes
classes_ndarray of shape (n_classes,)

Class labels.

estimators_list of n_output estimators

Estimators used for predictions.

n_features_in_int

Number of features seen during fit. Only defined if the underlying base_estimator of the CalibratedClassifierCV estimator exposes such an attribute when fit.

feature_names_in_ndarray of shape (n_features_in_,)

Names of features seen during fit. Only defined if the underlying base_estimator of the CalibratedClassifierCV estimator exposes such an attribute when fit.

fit(X, Y, sample_weight=None, optimize_for_inference=True, **fit_params)

Fit the model to the feature matrix X and labels Y.

Parameters
X{array-like, sparse matrix} of shape (n_samples, n_features)

The train data.

Yarray-like of shape (n_samples, n_classes)

The train labels.

sample_weightarray-like of shape (n_samples,), default=None

The sample weights. If None, all samples have the same weight. Only supported if the underlying classifier supports sample weights.

optimize_for_inferencebool, default=True

If True, save the model and calibration coefficients as attributes to be used at predict_proba time. It is recommended to use the default setting for performance-optimized inference.

**fit_paramsdict of string -> object

Parameters passed to the estimator.fit method of each step.

Returns
selfobject

Returns a fitted instance.

get_params(deep=True)

Get parameters for this estimator.

Parameters
deepbool, default=True

If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns
paramsdict

Parameter names mapped to their values.

partial_fit(X, y, classes=None, sample_weight=None)

Incrementally fit a separate model for each class output.

Parameters
X{array-like, sparse matrix} of shape (n_samples, n_features)

The input data.

y{array-like, sparse matrix} of shape (n_samples, n_outputs)

Multi-output targets.

classeslist of ndarray of shape (n_outputs,), default=None

Each array is unique classes for one output in str/int. Can be obtained via [np.unique(y[:, i]) for i in range(y.shape[1])], where y is the target matrix of the entire dataset. This argument is required for the first call to partial_fit and can be omitted in the subsequent calls. Note that y doesn’t need to contain all labels in classes.

sample_weightarray-like of shape (n_samples,), default=None

Sample weights. If None, then samples are equally weighted. Only supported if the underlying regressor supports sample weights.

Returns
selfobject

Returns a fitted instance.

predict(X)

Predict multi-output variable using model for each target variable.

Parameters
X{array-like, sparse matrix} of shape (n_samples, n_features)

The input data.

Returns
y{array-like, sparse matrix} of shape (n_samples, n_outputs)

Multi-output targets predicted across multiple predictors. Note: Separate models are generated for each predictor.

predict_proba(X)

Predict class probabilities for each output.

Parameters
Xarray-like of shape (n_samples, n_features)

The input data.

Returns
parray of shape (n_samples, n_classes)

The class probabilities of the input samples. The order of the classes corresponds to that in the attribute classes_.

score(X, y)

Return the mean accuracy on the given test data and labels.

Parameters
Xarray-like of shape (n_samples, n_features)

Test samples.

yarray-like of shape (n_samples, n_outputs)

True values for X.

Returns
scoresfloat

Mean accuracy of predicted target versus true target.

set_params(**params)

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as Pipeline). The latter have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.

Parameters
**paramsdict

Estimator parameters.

Returns
selfestimator instance

Estimator instance.