chemicalchecker.tool.targetmate.nonconformist.icp.IcpClassifier
- class IcpClassifier(nc_function, condition=None, smoothing=True)[source]
Bases:
BaseIcp
,ClassifierMixin
Inductive conformal classifier.
Parameters
- nc_functionBaseScorer
Nonconformity scorer object used to calculate nonconformity of calibration examples and test patterns. Should implement
fit(x, y)
andcalc_nc(x, y)
.- smoothingboolean
Decides whether to use stochastic smoothing of p-values.
Attributes
- cal_xnumpy array of shape [n_cal_examples, n_features]
Inputs of calibration set.
- cal_ynumpy array of shape [n_cal_examples]
Outputs of calibration set.
- nc_functionBaseScorer
Nonconformity scorer object used to calculate nonconformity scores.
- classesnumpy array of shape [n_classes]
- List of class labels, with indices corresponding to output columns
of IcpClassifier.predict()
See also
IcpRegressor
References
Examples
>>> import numpy as np >>> from sklearn.datasets import load_iris >>> from sklearn.tree import DecisionTreeClassifier >>> from nonconformist.base import ClassifierAdapter >>> from nonconformist.icp import IcpClassifier >>> from nonconformist.nc import ClassifierNc, MarginErrFunc >>> iris = load_iris() >>> idx = np.random.permutation(iris.target.size) >>> train = idx[:int(idx.size / 3)] >>> cal = idx[int(idx.size / 3):int(2 * idx.size / 3)] >>> test = idx[int(2 * idx.size / 3):] >>> model = ClassifierAdapter(DecisionTreeClassifier()) >>> nc = ClassifierNc(model, MarginErrFunc()) >>> icp = IcpClassifier(nc) >>> icp.fit(iris.data[train, :], iris.target[train]) >>> icp.calibrate(iris.data[cal, :], iris.target[cal]) >>> icp.predict(iris.data[test, :], significance=0.10) ... array([[ True, False, False], [False, True, False], ..., [False, True, False], [False, True, False]], dtype=bool)
Methods
Calibrate conformal predictor based on underlying nonconformity scorer.
Fit underlying nonconformity scorer.
Get parameters for this estimator.
get_problem_type
Predict the output values for a set of input patterns.
Predict the output values for a set of input patterns, using the confidence-and-credibility output scheme.
Set the parameters of this estimator.
- calibrate(x, y, increment=False)
Calibrate conformal predictor based on underlying nonconformity scorer.
Parameters
- xnumpy array of shape [n_samples, n_features]
Inputs of examples for calibrating the conformal predictor.
- ynumpy array of shape [n_samples, n_features]
Outputs of examples for calibrating the conformal predictor.
- incrementboolean
If
True
, performs an incremental recalibration of the conformal predictor. The suppliedx
andy
are added to the set of previously existing calibration examples, and the conformal predictor is then calibrated on both the old and new calibration examples.
Returns
None
- fit(x, y)
Fit underlying nonconformity scorer.
Parameters
- xnumpy array of shape [n_samples, n_features]
Inputs of examples for fitting the nonconformity scorer.
- ynumpy array of shape [n_samples]
Outputs of examples for fitting the nonconformity scorer.
Returns
None
- 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.
- predict(x, significance=None)[source]
Predict the output values for a set of input patterns.
Parameters
- xnumpy array of shape [n_samples, n_features]
Inputs of patters for which to predict output values.
- significancefloat or None
Significance level (maximum allowed error rate) of predictions. Should be a float between 0 and 1. If
None
, then the p-values are output rather than the predictions.
Returns
- pnumpy array of shape [n_samples, n_classes]
If significance is
None
, then p contains the p-values for each sample-class pair; if significance is a float between 0 and 1, then p is a boolean array denoting which labels are included in the prediction sets.
- predict_conf(x)[source]
Predict the output values for a set of input patterns, using the confidence-and-credibility output scheme.
Parameters
- xnumpy array of shape [n_samples, n_features]
Inputs of patters for which to predict output values.
Returns
- pnumpy array of shape [n_samples, 3]
p contains three columns: the first column contains the most likely class for each test pattern; the second column contains the confidence in the predicted class label, and the third column contains the credibility of the prediction.
- 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.