Computes F-1 Score.
Inherits From: FBetaScore, Metric
tf.keras.metrics.F1Score(
average=None, threshold=None, name='f1_score', dtype=None
)
f1_score = 2 * (precision * recall) / (precision + recall)
This is the harmonic mean of precision and recall. Its output range is [0, 1]. It works for both multi-class and multi-label classification.
| Args | |
|---|---|
average | Type of averaging to be performed on data. Acceptable values are None, "micro", "macro" and "weighted". Defaults to None. If None, no averaging is performed and result() will return the score for each class. If "micro", compute metrics globally by counting the total true positives, false negatives and false positives. If "macro", compute metrics for each label, and return their unweighted mean. This does not take label imbalance into account. If "weighted", compute metrics for each label, and return their average weighted by support (the number of true instances for each label). This alters "macro" to account for label imbalance. It can result in an score that is not between precision and recall. |
threshold | Elements of y_pred greater than threshold are converted to be 1, and the rest 0. If threshold is None, the argmax of y_pred is converted to 1, and the rest to 0. |
name | Optional. String name of the metric instance. |
dtype | Optional. Data type of the metric result. |
| Returns | |
|---|---|
| F-1 Score: float. |
metric = keras.metrics.F1Score(threshold=0.5)
y_true = np.array([[1, 1, 1],
[1, 0, 0],
[1, 1, 0]], np.int32)
y_pred = np.array([[0.2, 0.6, 0.7],
[0.2, 0.6, 0.6],
[0.6, 0.8, 0.0]], np.float32)
metric.update_state(y_true, y_pred)
result = metric.result()
array([0.5 , 0.8 , 0.6666667], dtype=float32)| Attributes | |
|---|---|
dtype | |
variables | |
add_variableadd_variable(
shape, initializer, dtype=None, aggregation='sum', name=None
)
add_weightadd_weight(
shape=(), initializer=None, dtype=None, name=None
)
from_config@classmethod
from_config(
config
)
get_configget_config()
Returns the serializable config of the metric.
reset_statereset_state()
Reset all of the metric state variables.
This function is called between epochs/steps, when a metric is evaluated during training.
resultresult()
Compute the current metric value.
| Returns | |
|---|---|
| A scalar tensor, or a dictionary of scalar tensors. |
stateless_reset_statestateless_reset_state()
stateless_resultstateless_result(
metric_variables
)
stateless_update_statestateless_update_state(
metric_variables, *args, **kwargs
)
update_stateupdate_state(
y_true, y_pred, sample_weight=None
)
Accumulate statistics for the metric.
__call____call__(
*args, **kwargs
)
Call self as a function.
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/keras/metrics/F1Score