MeanSquaredError
类tf_keras.metrics.MeanSquaredError(name="mean_squared_error", dtype=None)
计算 y_true
和 y_pred
之间的均方误差。
参数
独立使用
>>> m = tf.keras.metrics.MeanSquaredError()
>>> m.update_state([[0, 1], [0, 0]], [[1, 1], [0, 0]])
>>> m.result().numpy()
0.25
>>> m.reset_state()
>>> m.update_state([[0, 1], [0, 0]], [[1, 1], [0, 0]],
... sample_weight=[1, 0])
>>> m.result().numpy()
0.5
与 compile()
API 一起使用
model.compile(
optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.MeanSquaredError()])
RootMeanSquaredError
类tf_keras.metrics.RootMeanSquaredError(name="root_mean_squared_error", dtype=None)
计算 y_true
和 y_pred
之间的均方根误差指标。
独立使用
>>> m = tf.keras.metrics.RootMeanSquaredError()
>>> m.update_state([[0, 1], [0, 0]], [[1, 1], [0, 0]])
>>> m.result().numpy()
0.5
>>> m.reset_state()
>>> m.update_state([[0, 1], [0, 0]], [[1, 1], [0, 0]],
... sample_weight=[1, 0])
>>> m.result().numpy()
0.70710677
与 compile()
API 一起使用
model.compile(
optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.RootMeanSquaredError()])
MeanAbsoluteError
类tf_keras.metrics.MeanAbsoluteError(name="mean_absolute_error", dtype=None)
计算标签和预测之间的平均绝对误差。
参数
独立使用
>>> m = tf.keras.metrics.MeanAbsoluteError()
>>> m.update_state([[0, 1], [0, 0]], [[1, 1], [0, 0]])
>>> m.result().numpy()
0.25
>>> m.reset_state()
>>> m.update_state([[0, 1], [0, 0]], [[1, 1], [0, 0]],
... sample_weight=[1, 0])
>>> m.result().numpy()
0.5
与 compile()
API 一起使用
model.compile(
optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.MeanAbsoluteError()])
MeanAbsolutePercentageError
类tf_keras.metrics.MeanAbsolutePercentageError(
name="mean_absolute_percentage_error", dtype=None
)
计算 y_true
和 y_pred
之间的平均绝对百分比误差。
参数
独立使用
>>> m = tf.keras.metrics.MeanAbsolutePercentageError()
>>> m.update_state([[0, 1], [0, 0]], [[1, 1], [0, 0]])
>>> m.result().numpy()
250000000.0
>>> m.reset_state()
>>> m.update_state([[0, 1], [0, 0]], [[1, 1], [0, 0]],
... sample_weight=[1, 0])
>>> m.result().numpy()
500000000.0
与 compile()
API 一起使用
model.compile(
optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.MeanAbsolutePercentageError()])
MeanSquaredLogarithmicError
类tf_keras.metrics.MeanSquaredLogarithmicError(
name="mean_squared_logarithmic_error", dtype=None
)
计算 y_true
和 y_pred
之间的均方对数误差。
参数
独立使用
>>> m = tf.keras.metrics.MeanSquaredLogarithmicError()
>>> m.update_state([[0, 1], [0, 0]], [[1, 1], [0, 0]])
>>> m.result().numpy()
0.12011322
>>> m.reset_state()
>>> m.update_state([[0, 1], [0, 0]], [[1, 1], [0, 0]],
... sample_weight=[1, 0])
>>> m.result().numpy()
0.24022643
与 compile()
API 一起使用
model.compile(
optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.MeanSquaredLogarithmicError()])
CosineSimilarity
类tf_keras.metrics.CosineSimilarity(name="cosine_similarity", dtype=None, axis=-1)
计算标签和预测之间的余弦相似度。
余弦相似度 = (a . b) / ||a|| ||b||
参见:余弦相似度。
此指标保持数据流中 predictions
和 labels
之间的平均余弦相似度。
参数
-1
。独立使用
>>> # l2_norm(y_true) = [[0., 1.], [1./1.414, 1./1.414]]
>>> # l2_norm(y_pred) = [[1., 0.], [1./1.414, 1./1.414]]
>>> # l2_norm(y_true) . l2_norm(y_pred) = [[0., 0.], [0.5, 0.5]]
>>> # result = mean(sum(l2_norm(y_true) . l2_norm(y_pred), axis=1))
>>> # = ((0. + 0.) + (0.5 + 0.5)) / 2
>>> m = tf.keras.metrics.CosineSimilarity(axis=1)
>>> m.update_state([[0., 1.], [1., 1.]], [[1., 0.], [1., 1.]])
>>> m.result().numpy()
0.49999997
>>> m.reset_state()
>>> m.update_state([[0., 1.], [1., 1.]], [[1., 0.], [1., 1.]],
... sample_weight=[0.3, 0.7])
>>> m.result().numpy()
0.6999999
与 compile()
API 一起使用
model.compile(
optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.CosineSimilarity(axis=1)])
LogCoshError
类tf_keras.metrics.LogCoshError(name="logcosh", dtype=None)
计算预测误差的双曲余弦的对数。
logcosh = log((exp(x) + exp(-x))/2)
,其中 x 是误差 (y_pred - y_true)
参数
独立使用
>>> m = tf.keras.metrics.LogCoshError()
>>> m.update_state([[0, 1], [0, 0]], [[1, 1], [0, 0]])
>>> m.result().numpy()
0.10844523
>>> m.reset_state()
>>> m.update_state([[0, 1], [0, 0]], [[1, 1], [0, 0]],
... sample_weight=[1, 0])
>>> m.result().numpy()
0.21689045
与 compile()
API 一起使用
model.compile(optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.LogCoshError()])