应用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()函数评估多类别分类模型精确度的一个例子。您可以根据自己的数据和模型进行调整和修改。希望对您有所帮助!
