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

应用Keras.metrics中的categorical_accuracy()函数评估多类别分类模型的精确度

发布时间:2023-12-16 13:17:27

在Keras中,categorical_accuracy()是用于评估多类别分类模型精确度的一个函数。它通过将模型的预测值与真实标签进行比较,来计算模型的准确率。下面我将为您提供一个使用此函数评估多类别分类模型的例子。

首先,我们需要导入相应的库和模块:

from keras.models import Sequential
from keras.layers import Dense
from keras.optimizers import Adam
from keras.metrics import categorical_accuracy
import numpy as np

接下来,我们需要设置一些训练数据:

# 设置训练数据
train_X = np.random.rand(100, 5)
train_y = np.random.randint(0, 3, (100,))

然后,我们需要创建一个简单的多类别分类模型:

# 创建模型
model = Sequential()
model.add(Dense(10, input_shape=(5,), activation='relu'))
model.add(Dense(3, activation='softmax'))

在这个例子中,我们使用了一个具有10个隐藏神经元的全连接层作为输入层,使用ReLU作为激活函数。最后,我们添加了一个具有3个神经元的softmax层作为输出层,以进行多类别分类。

接下来,我们需要编译模型并定义优化器、损失函数和评估指标:

# 编译模型
model.compile(optimizer=Adam(learning_rate=0.001),
              loss='sparse_categorical_crossentropy',
              metrics=[categorical_accuracy])

在这个例子中,我们使用Adam优化器,交叉熵损失函数和categorical_accuracy指标进行模型的编译。

最后,我们可以开始训练模型并评估其精确度:

# 训练模型
model.fit(train_X, train_y, batch_size=32, epochs=10)

# 评估模型精确度
accuracy = model.evaluate(train_X, train_y)[1]
print('Accuracy:', accuracy)

在训练模型之后,我们使用evaluate()函数来评估模型的精确度。categorical_accuracy()作为我们指定的评估指标之一,将被计算并返回给我们。最后,我们将打印结果。

以上就是使用categorical_accuracy()函数评估多类别分类模型精确度的一个例子。您可以根据自己的数据和模型进行调整和修改。希望对您有所帮助!