sklearn log_loss unterschiedliche Anzahl von Klassen

Ich bin mit log_loss mit sklearn

from sklearn.metrics import log_loss
print log_loss(true, pred,normalize=False)

und ich haben folgenden Fehler:

ValueError: y_true and y_pred have different number of classes 38, 2

Es ist wirklich seltsam für mich, da die arrays, die Aussehen gilt:

print pred.shape
print np.unique(pred)
print np.unique(pred).size
(19191L,)
[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
 25 26 27 28 29 30 31 32 33 34 35 36 37]
38

print true.shape
print np.unique(true)
print np.unique(true).size
(19191L,)
[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
 25 26 27 28 29 30 31 32 33 34 35 36 37]
38

Was ist falsch mit der log_loss? Warum es den Fehler auslöst?

Beispieldaten:

pred: array([ 0,  1,  2, ...,  3, 12, 16], dtype=int64)
true: array([ 0,  1,  2, ...,  3, 12, 16])
  • Können Sie nach ein paar Daten für pred und wahr ist? Es sieht aus wie Ihre Etiketten werden falsch übergeben.
  • Hinzugefügt, um die original-Beitrag
  • Melden Sie den Verlust ist für die Bewertung der Genauigkeit der Wahrscheinlichkeiten - es erwartet Sie ein array von Wahrscheinlichkeiten im Zusammenhang mit allen möglichen Labels (Sie übergeben, nur label). Ich glaube, Ihr pred-variable muss ein array von n-arrays, wobei n die Anzahl der Etiketten.
InformationsquelleAutor Ablomis | 2015-11-09
Schreibe einen Kommentar