8.19.1.11. sklearn.metrics.precision_recall_curve

sklearn.metrics.precision_recall_curve(y_true, probas_pred)

Compute precision-recall pairs for different probability thresholds

Note: this implementation is restricted to the binary classification task.

The precision is the ratio tp / (tp + fp) where tp is the number of true positives and fp the number of false positives. The precision is intuitively the ability of the classifier not to label as positive a sample that is negative.

The recall is the ratio tp / (tp + fn) where tp is the number of true positives and fn the number of false negatives. The recall is intuitively the ability of the classifier to find all the positive samples.

The last precision and recall values are 1. and 0. respectively and do not have a corresponding threshold. This ensures that the graph starts on the x axis.

Parameters:

y_true : array, shape = [n_samples]

True targets of binary classification in range {-1, 1} or {0, 1}.

probas_pred : array, shape = [n_samples]

Estimated probabilities or decision function.

Returns:

precision : array, shape = [n + 1]

Precision values.

recall : array, shape = [n + 1]

Recall values.

thresholds : array, shape = [n]

Thresholds on y_score used to compute precision and recall.

Examples

>>> import numpy as np
>>> from sklearn.metrics import precision_recall_curve
>>> y_true = np.array([0, 0, 1, 1])
>>> y_scores = np.array([0.1, 0.4, 0.35, 0.8])
>>> precision, recall, threshold = precision_recall_curve(y_true, y_scores)
>>> precision  
array([ 0.66...,  0.5       ,  1.        ,  1.        ])
>>> recall
array([ 1. ,  0.5,  0.5,  0. ])
>>> threshold
array([ 0.35,  0.4 ,  0.8 ])
Previous
Next