Keras.metrics中的categorical_accuracy()函数:一种度量多分类模型准确度的方法
发布时间:2023-12-16 13:10:54
Keras中的categorical_accuracy()函数是一种用于度量多分类模型准确度的方法。该函数是一个度量,用于评估多分类模型的性能。它计算预测的标签与真实的标签之间的准确匹配的比例。
使用categorical_accuracy()函数,可以通过传递模型的真实标签和预测标签来计算准确率。以下是一个使用该函数的示例:
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
from keras.metrics import categorical_accuracy
# 创建一个多分类模型
model = Sequential()
model.add(Dense(32, activation='relu', input_dim=100))
model.add(Dense(10, activation='softmax'))
# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=[categorical_accuracy])
# 生成随机输入和标签数据
x_train = np.random.random((1000, 100))
y_train = np.random.randint(10, size=(1000,))
# 将标签转换为独热编码
y_train = np.eye(10)[y_train]
# 训练模型
model.fit(x_train, y_train, epochs=10, batch_size=32)
# 使用模型进行预测
x_test = np.random.random((100, 100))
y_test = np.random.randint(10, size=(100,))
y_test = np.eye(10)[y_test]
# 计算准确率
accuracy = model.evaluate(x_test, y_test, verbose=0)[1]
print("准确率:", accuracy)
在这个例子中,我们首先创建了一个多分类模型,其中包含一个具有32个神经元的隐藏层和一个具有10个神经元的输出层。然后我们使用categorical_accuracy()将该度量添加到模型中的metrics列表中。接下来,我们生成了一组随机的输入和标签数据,并将标签转化为独热编码。然后,我们使用训练数据对模型进行训练,并使用测试数据计算准确率。
最后,我们使用模型的evaluate()函数来计算准确率,并将结果打印出来。在这个例子中,准确率是模型在测试数据集上预测正确的比例。
总结来说,categorical_accuracy()函数是Keras中用于度量多分类模型准确度的方法之一。通过使用该函数,我们可以评估模型预测结果与真实标签之间的匹配程度。
