Como usar log_loss como métrica em Keras?

votos
7

Eu estou usando Keras e eu quero usar logloss como métrica para a formação. Como posso passar isso para o meu modelo?

Meu código é a seguinte:

model = Sequential()
model.add(Dense(output_dim=1000, input_dim=390, init='uniform'))
model.add(Activation(relu))
model.add(Dropout(0.5))
model.add(Dense(output_dim=500, input_dim=1000, init=lecun_uniform))
model.add(Activation(relu))
model.add(Dropout(0.5))
model.add(Dense(output_dim=10, input_dim=300, init=lecun_uniform))
model.add(Activation(sigmoid))
model.add(Dropout(0.5))
model.add(Dense(output_dim=200, input_dim=10, init=lecun_uniform))
model.add(Activation(relu))
model.add(Dropout(0.5))
model.add(Dense(output_dim=100, input_dim=200, init =glorot_normal))
model.add(Activation(relu))
model.add(Dropout(0.5))
model.add(Dense(output_dim=50, input_dim=100, init =he_normal))
model.add(Activation(sigmoid))
model.add(Dropout(0.5))
model.add(Dense(output_dim=2, input_dim=50, init = normal))
model.add(Activation(softmax))
model.compile(loss='binary_crossentropy',optimizer='rmsprop', metrics=['accuracy'])

model.fit(train.values, y1,  nb_epoch=10,
          batch_size=50000, verbose=2,validation_split=0.3, class_weight={1:0.96, 0:0.04})


proba = model.predict_proba(train.values)
log_loss(y, proba[:,1])

Como posso passar log_loss no lugar de precisão?

Publicado 07/05/2016 em 02:21
fonte usuário
Em outras línguas...                            


1 respostas

votos
19

Já são: loss='binary_crossentropy'especifica que o modelo deve otimizar a perda de log para a classificação binária. metrics=['accuracy']especifica que a precisão deve ser impresso, mas a perda de log também é impresso por padrão.

Respondeu 11/05/2016 em 06:37
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more