Ho appena applicata la perdita di registro nella sklearn per la regressione logistica: http://scikit-learn.org/stable/modules/generated/sklearn.metrics.log_loss.htmlPerché il logloss è negativo?
Il mio codice simile a questa:
def perform_cv(clf, X, Y, scoring):
kf = KFold(X.shape[0], n_folds=5, shuffle=True)
kf_scores = []
for train, _ in kf:
X_sub = X[train,:]
Y_sub = Y[train]
#Apply 'log_loss' as a loss function
scores = cross_validation.cross_val_score(clf, X_sub, Y_sub, cv=5, scoring='log_loss')
kf_scores.append(scores.mean())
return kf_scores
Tuttavia, mi chiedo il motivo per cui le perdite risultanti logaritmiche sono negativi. Mi aspetterei che fossero positivi poiché nella documentazione (vedi il mio link sopra) la perdita del log è moltiplicata per un -1 per trasformarlo in un numero positivo.
Sto facendo qualcosa di sbagliato qui?
No questo non è il caso qui. Per favore considera di dare una risposta invece di una supposizione. Dopo alcuni test, credo piuttosto che sembra essere un errore nel framework sklearn. – toom