在Keras中处理多类别分类问题通常使用多类别交叉熵损失函数和softmax激活函数。以下是一个简单的示例代码:
from keras.models import Sequential
from keras.layers import Dense
# 创建模型
model = Sequential()
model.add(Dense(units=64, activation='relu', input_dim=100))
model.add(Dense(units=10, activation='softmax'))
# 编译模型
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
# 训练模型
model.fit(X_train, y_train, epochs=10, batch_size=32)
# 评估模型
loss, accuracy = model.evaluate(X_test, y_test)
print('Test loss:', loss)
print('Test accuracy:', accuracy)
在这个例子中,模型有一个输入层和一个输出层,输出层有10个单元,对应于10个类别。损失函数使用多类别交叉熵,优化器使用adam,评估指标是准确率。在训练模型时,X_train是输入数据,y_train是标签数据,epochs是训练次数,batch_size是每次训练的样本数。最后,评估模型的性能并打印测试损失和准确率。