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=0andfnr=1, unlessfpr=0is 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.When
pos_label=None, ify_trueis in {-1, 1} or {0, 1},pos_labelis 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 same
fnrand 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 (either
predict_probaordecision_function) used to compute FPR and FNR.Changed in version 1.7:An arbitrary threshold at infinity is added for the case
fpr=0andfnr=1.
See also
DetCurveDisplay.from_estimatorPlot DET curve given an estimator and some data.
DetCurveDisplay.from_predictionsPlot DET curve given the true and predicted labels.
DetCurveDisplayDET curve visualization.
roc_curveCompute Receiver operating characteristic (ROC) curve.
precision_recall_curveCompute 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 ])
