Auc¶
- class paddle.fluid.metrics. Auc ( name, curve='ROC', num_thresholds=4095 ) [source]
-
The auc metric is for binary classification. Refer to https://en.wikipedia.org/wiki/Receiver_operating_characteristic#Area_under_the_curve. Please notice that the auc metric is implemented with python, which may be a little bit slow. If you concern the speed, please use the fluid.layers.auc instead.
The auc function creates four local variables, true_positives, true_negatives, false_positives and false_negatives that are used to compute the AUC. To discretize the AUC curve, a linearly spaced set of thresholds is used to compute pairs of recall and precision values. The area under the ROC-curve is therefore computed using the height of the recall values by the false positive rate, while the area under the PR-curve is the computed using the height of the precision values by the recall.
- Parameters
-
name (str, optional) – Metric name. For details, please refer to Name. Default is None.
curve (str) – Specifies the name of the curve to be computed, ‘ROC’ [default] or ‘PR’ for the Precision-Recall-curve.
“NOTE: only implement the ROC curve type via Python now.”
Examples
import paddle.fluid as fluid import numpy as np # init the auc metric auc_metric = fluid.metrics.Auc("ROC") # suppose that batch_size is 128 batch_num = 100 batch_size = 128 for batch_id in range(batch_num): class0_preds = np.random.random(size = (batch_size, 1)) class1_preds = 1 - class0_preds preds = np.concatenate((class0_preds, class1_preds), axis=1) labels = np.random.randint(2, size = (batch_size, 1)) auc_metric.update(preds = preds, labels = labels) # shall be some score closing to 0.5 as the preds are randomly assigned print("auc for iteration %d is %.2f" % (batch_id, auc_metric.eval()))
-
update
(
preds,
labels
)
update¶
-
Update the auc curve with the given predictions and labels.
- Parameters
-
preds (numpy.array) – an numpy array in the shape of (batch_size, 2), preds[i][j] denotes the probability of classifying the instance i into the class j.
labels (numpy.array) – an numpy array in the shape of (batch_size, 1), labels[i] is either o or 1, representing the label of the instance i.
-
eval
(
)
eval¶
-
Return the area (a float score) under auc curve
- Returns
-
the area under auc curve
- Return type
-
float
-
get_config
(
)
get_config¶
-
Get the metric and current states. The states are the members who do not has “_” prefix.
- Parameters
-
None –
- Returns
-
a python dict, which contains the inner states of the metric instance
- Return types:
-
a python dict
-
reset
(
)
reset¶
-
reset function empties the evaluation memory for previous mini-batches.
- Parameters
-
None –
- Returns
-
None
- Return types:
-
None