confusion_matrix_at_thresholds (original) (raw)
sklearn.metrics.confusion_matrix_at_thresholds(y_true, y_score, pos_label=None, sample_weight=None)[source]#
Calculate binary confusion matrix terms per classification threshold.
Read more in the User Guide.
Added in version 1.8.
Parameters:
y_truendarray of shape (n_samples,)
True targets of binary classification.
y_scorendarray of shape (n_samples,)
Estimated probabilities or output of a decision function.
pos_labelint, float, bool or str, default=None
The label of the positive class.
sample_weightarray-like of shape (n_samples,), default=None
Sample weights.
Returns:
tnsndarray of shape (n_thresholds,)
A count of true negatives, at index i being the number of negative samples assigned a score < thresholds[i].
fpsndarray of shape (n_thresholds,)
A count of false positives, at index i being the number of negative samples assigned a score >= thresholds[i]. The total number of negative samples is equal to fps[-1].
fnsndarray of shape (n_thresholds,)
A count of false negatives, at index i being the number of positive samples assigned a score < thresholds[i].
tpsndarray of shape (n_thresholds,)
An increasing count of true positives, at index i being the number of positive samples assigned a score >= thresholds[i]. The total number of positive samples is equal to tps[-1].
thresholdsndarray of shape (n_thresholds,)
Decreasing score values.
Examples
import numpy as np from sklearn.metrics import confusion_matrix_at_thresholds y_true = np.array([0., 0., 1., 1.]) y_score = np.array([0.1, 0.4, 0.35, 0.8]) tns, fps, fns, tps, thresholds = confusion_matrix_at_thresholds(y_true, y_score) tns array([2., 1., 1., 0.]) fps array([0., 1., 1., 2.]) fns array([1., 1., 0., 0.]) tps array([1., 1., 2., 2.]) thresholds array([0.8 , 0.4 , 0.35, 0.1 ])