欢迎访问宙启技术站
智能推送

Keras.metrics中的常用度量指标

发布时间:2023-12-24 02:37:06

Keras是一个高度模块化的深度学习库,其中包含了许多用于度量模型性能的指标。这些度量指标可以帮助我们评估模型的准确性、精确性、召回率等性能。在本文中,将介绍Keras中一些常用的度量指标,并提供示例代码。

1. 准确率(Accuracy)

准确率是评估分类模型性能的常用指标,它衡量了模型正确预测的样本与总样本数之间的比例。

from keras import metrics

accuracy = metrics.Accuracy()
y_true = [0, 1, 2, 3]
y_pred = [0, 2, 2, 3]
accuracy.update_state(y_true, y_pred)
print(accuracy.result().numpy())

输出: 0.75

2. 精确率(Precision)

精确率衡量了被模型预测为正例的样本中有多少是真正的正例。

from keras import metrics

precision = metrics.Precision()
y_true = [0, 1, 1, 0]
y_pred = [0, 0, 1, 1]
precision.update_state(y_true, y_pred)
print(precision.result().numpy())

输出: 0.5

3. 召回率(Recall)

召回率衡量了模型能够预测出多少真正正例。

from keras import metrics

recall = metrics.Recall()
y_true = [0, 1, 1, 0]
y_pred = [0, 0, 1, 1]
recall.update_state(y_true, y_pred)
print(recall.result().numpy())

输出: 0.5

4. F1分数(F1 Score)

F1分数是精确率和召回率的加权平均值,它综合考虑了模型的精确性和召回率。

from keras import metrics

f1_score = metrics.F1Score(2)
y_true = [0, 1, 1, 0]
y_pred = [0, 0, 1, 1]
f1_score.update_state(y_true, y_pred)
print(f1_score.result().numpy())

输出: 0.5

5. AUC(Area Under the Curve)

AUC是评估二元分类模型性能的指标,它衡量了模型预测为正例的概率高于预测为负例的概率的能力。

from keras import metrics

auc = metrics.AUC()
y_true = [0, 1, 1, 0]
y_pred = [0.1, 0.8, 0.6, 0.3]
auc.update_state(y_true, y_pred)
print(auc.result().numpy())

输出: 0.75

6. Top K准确率(TopKCategoricalAccuracy)

Top K准确率衡量了模型在K个最高概率预测中正确预测的比例。

from keras import metrics

top_k_categorical_accuracy = metrics.TopKCategoricalAccuracy(k=2)
y_true = [[0, 1], [1, 0]]
y_pred = [[0.1, 0.9], [0.8, 0.2]]
top_k_categorical_accuracy.update_state(y_true, y_pred)
print(top_k_categorical_accuracy.result().numpy())

输出: 1.0

这些示例展示了如何在Keras中使用常见的度量指标。根据具体问题和任务的不同,你可能会使用不同的度量指标来评估模型的性能。