det_curve#

sklearn.metrics.det_curve(y_true,y_score,pos_label=None,sample_weight=None,drop_intermediate=False)[source]#

Compute Detection Error Tradeoff (DET) for different probability thresholds.

Note

This metric is used for evaluation of ranking and error tradeoffs ofa binary classification task.

Read more in theUser Guide.

Added in version 0.24.

Changed in version 1.7:An arbitrary threshold at infinity is added to represent a classifierthat always predicts the negative class, i.e.fpr=0 andfnr=1, unlessfpr=0 is already reached at a finite threshold.

Parameters:
y_truendarray of shape (n_samples,)

True binary labels. If labels are not either {-1, 1} or {0, 1}, thenpos_label should be explicitly given.

y_scorendarray of shape of (n_samples,)

Target scores, can either be probability estimates of the positiveclass, confidence values, or non-thresholded measure of decisions(as returned by “decision_function” on some classifiers).Fordecision_function scores, values greater than or equal tozero should indicate the positive class.

pos_labelint, float, bool or str, default=None

The label of the positive class.Whenpos_label=None, ify_true is in {-1, 1} or {0, 1},pos_label is set to 1, otherwise an error will be raised.

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

Sample weights.

drop_intermediatebool, default=False

Whether to drop thresholds where true positives (tp) do not change fromthe previous or subsequent threshold. All points with the same tp valuehave the samefnr and thus same y coordinate.

Added in version 1.7.

Returns:
fprndarray of shape (n_thresholds,)

False positive rate (FPR) such that element i is the false positiverate of predictions with score >= thresholds[i]. This is occasionallyreferred to as false acceptance probability or fall-out.

fnrndarray of shape (n_thresholds,)

False negative rate (FNR) such that element i is the false negativerate of predictions with score >= thresholds[i]. This is occasionallyreferred to as false rejection or miss rate.

thresholdsndarray of shape (n_thresholds,)

Decreasing thresholds on the decision function (eitherpredict_probaordecision_function) used to compute FPR and FNR.

Changed in version 1.7:An arbitrary threshold at infinity is added for the casefpr=0andfnr=1.

See also

DetCurveDisplay.from_estimator

Plot DET curve given an estimator and some data.

DetCurveDisplay.from_predictions

Plot DET curve given the true and predicted labels.

DetCurveDisplay

DET curve visualization.

roc_curve

Compute Receiver operating characteristic (ROC) curve.

precision_recall_curve

Compute precision-recall curve.

Examples

>>>importnumpyasnp>>>fromsklearn.metricsimportdet_curve>>>y_true=np.array([0,0,1,1])>>>y_scores=np.array([0.1,0.4,0.35,0.8])>>>fpr,fnr,thresholds=det_curve(y_true,y_scores)>>>fprarray([0.5, 0.5, 0. ])>>>fnrarray([0. , 0.5, 0.5])>>>thresholdsarray([0.35, 0.4 , 0.8 ])

Gallery examples#

Detection error tradeoff (DET) curve

Detection error tradeoff (DET) curve