按照Keras给出的一些代码,评价指标通常只有ACC跟loss,如果要看F1等其他参数就看不了,有跟多博客给出了添加的方式,大多是自己手写了公式,然后添加到里面去,个人感觉这种方式并不稳妥,给出我用的方法,直接调用官方给出的库函数即可。
import keras_metrics as km
然后在
model.compile中添加即可。给出一个LSTM的例子:
def BILSTM_model(self,word_index,embeddings_index):
print('开始构建BILSTM模型')
embedding_layer = self.emb_model_layer(word_index,embeddings_index)
sequence_input = Input(shape=(MAX_SEQUENCE_LENGTH,), dtype='int32')
embedded_sequences = embedding_layer(sequence_input)
l_1 = Bidirectional(LSTM(100, return_sequences=False))(embedded_sequences)
dense_1 = Dense(100,activation='tanh')(l_1)
dense_2 = Dense(2, activation='softmax')(dense_1)
model = Model(sequence_input, dense_2)
model.compile(loss='categorical_crossentropy',
optimizer='rmsprop',
metrics=['acc',km.f1_score(), km.binary_precision(), km.binary_recall()])//在这个地方添加需要的参数
model.summary()
return model