Ich bewarb nur die Log-Verlust in sklearn für logistische Regression: http://scikit-learn.org/stable/modules/generated/sklearn.metrics.log_loss.htmlWarum ist das Logloss negativ?
Mein Code sieht ungefähr so aus:
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
aber ich frage mich, warum die resultierenden logarithmischen Verluste negativ sind. Ich würde erwarten, dass sie positiv sind, da in der Dokumentation (siehe mein Link oben) der Logverlust mit -1 multipliziert wird, um ihn in eine positive Zahl umzuwandeln.
Mache ich hier etwas falsch?
Nein, das ist hier nicht der Fall. Bitte denken Sie daran, eine Antwort zu geben anstatt zu raten. Nach ein paar Tests glaube ich eher, dass es tatsächlich ein Fehler im sklearn-Framework zu sein scheint. – toom