当我有2个类时,我使用binary_crossentropy
作为loss
的值来编译模型:
model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy'])
但是现在我有5个类,并且我没有在热编码功能上使用。因此,我选择sparse_categorical_crossentropy
作为loss
的值。但是准确度指标应该是什么,如keras metric源代码建议存在多个可用的准确度指标。我尝试过:
model.compile(optimizer='rmsprop', loss='sparse_categorical_crossentropy', metrics=['sparse_categorical_accuracy'])
那是正确的还是我应该只使用categorical_accuracy
?
答案 0 :(得分:0)
sparse_categorical_accuracy
是正确的指标sparse_categorical_entropy
。
但是为什么要使用sparse_categorical_entropy
?你有什么课程? sparse_categorical_entropy
用于整数输出。但是,如果您有一个单编码目标,则应使用categorical_crossentropy
作为损失函数,并使用accuracy
或categorical_accuracy
指标。
更新:
使用以下代码解决您的分类问题:
model.add(Dense(5, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])