2016-05-07 38 views
5

Sto usando Keras e voglio usare logloss come parametro per la formazione. Come posso passarlo nel mio modello?Come utilizzare log_loss come metrica in Keras?

Il mio codice è il seguente:

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]) 

Come posso passare log_loss al posto di precisione?

risposta

15

L'utente dispone già: loss='binary_crossentropy' specifica che il modello deve ottimizzare la perdita di registro per la classificazione binaria. metrics=['accuracy'] specifica che la precisione deve essere stampata, ma la perdita di registro viene anche stampata di default.

Problemi correlati