View source on GitHub
|
Computes the precision of the predictions with respect to the labels.
Inherits From: Metric
tf.keras.metrics.Precision(
thresholds=None, top_k=None, class_id=None, name=None, dtype=None
)
Used in the notebooks
| Used in the tutorials |
|---|
The metric creates two local variables, true_positives and
false_positives that are used to compute the precision. This value is
ultimately returned as precision, an idempotent operation that simply
divides true_positives by the sum of true_positives and
false_positives.
If sample_weight is None, weights default to 1.
Use sample_weight of 0 to mask values.
If top_k is set, we'll calculate precision as how often on average a class
among the top-k classes with the highest predicted values of a batch entry
is correct and can be found in the label for that entry.
If class_id is specified, we calculate precision by considering only the
entries in the batch for which class_id is above the threshold and/or in
the top-k highest predictions, and computing the fraction of them for which
class_id is indeed a correct label.
Example:
m = keras.metrics.Precision()m.update_state([0, 1, 1, 1], [1, 0, 1, 1])m.result()0.6666667
m.reset_state()m.update_state([0, 1, 1, 1], [1, 0, 1, 1], sample_weight=[0, 0, 1, 0])m.result()1.0
# With top_k=2, it will calculate precision over y_true[:2]# and y_pred[:2]m = keras.metrics.Precision(top_k=2)m.update_state([0, 0, 1, 1], [1, 1, 1, 1])m.result()0.0
# With top_k=4, it will calculate precision over y_true[:4]# and y_pred[:4]m = keras.metrics.Precision(top_k=4)m.update_state([0, 0, 1, 1], [1, 1, 1, 1])m.result()0.5
Usage with compile() API:
model.compile(optimizer='sgd',
loss='binary_crossentropy',
metrics=[keras.metrics.Precision()])
Usage with a loss with from_logits=True:
model.compile(optimizer='adam',
loss=keras.losses.BinaryCrossentropy(from_logits=True),
metrics=[keras.metrics.Precision(thresholds=0)])
Attributes | |
|---|---|
dtype
|
|
variables
|
|
Methods
add_variable
add_variable(
shape, initializer, dtype=None, aggregation='sum', name=None
)
add_weight
add_weight(
shape=(), initializer=None, dtype=None, name=None
)
from_config
@classmethodfrom_config( config )
get_config
get_config()
Return the serializable config of the metric.
reset_state
reset_state()
Reset all of the metric state variables.
This function is called between epochs/steps, when a metric is evaluated during training.
result
result()
Compute the current metric value.
| Returns | |
|---|---|
| A scalar tensor, or a dictionary of scalar tensors. |
stateless_reset_state
stateless_reset_state()
stateless_result
stateless_result(
metric_variables
)
stateless_update_state
stateless_update_state(
metric_variables, *args, **kwargs
)
update_state
update_state(
y_true, y_pred, sample_weight=None
)
Accumulates true positive and false positive statistics.
| Args | |
|---|---|
y_true
|
The ground truth values, with the same dimensions as
y_pred. Will be cast to bool.
|
y_pred
|
The predicted values. Each element must be in the range
[0, 1].
|
sample_weight
|
Optional weighting of each example. Defaults to 1.
Can be a tensor whose rank is either 0, or the same rank as
y_true, and must be broadcastable to y_true.
|
__call__
__call__(
*args, **kwargs
)
Call self as a function.
View source on GitHub