Einfaches Beispiel mit BernoulliNB (naiver bayes-classifier) scikit-learn, die in python kann nicht erklären, Klassifizierung

Mit scikit-learn 0.10

Warum hat die folgenden trivialen code-snippet:

from sklearn.naive_bayes import *

import sklearn
from sklearn.naive_bayes import *

print sklearn.__version__

X = np.array([ [1, 1, 1, 1, 1], 
               [0, 0, 0, 0, 0] ])
print "X: ", X
Y = np.array([ 1, 2 ])
print "Y: ", Y

clf = BernoulliNB()
clf.fit(X, Y)
print "Prediction:", clf.predict( [0, 0, 0, 0, 0] )    

Drucken Sie die Antwort "1" ? Trainiert hat das Modell auf [0,0,0,0,0] => 2 ich rechne auch mit einer "2" als Antwort.

Und warum ersetzen von Y mit

Y = np.array([ 3, 2 ])

Geben, eine andere Klasse "2" als Antwort (die richtige) ? Dies ist nicht nur ein Klasse Etikett?

Kann jemand etwas Licht in diese Schuppen?

  • Du hast Recht, die änderung Y sollte sich daran nichts ändern. Konnte ich reproduzieren mit dem aktuellen master. Ich denke, das hat zu tun mit der Klassifizierer als unentschlossen.
  • Mit 0.18.2, ich bin immer 2 ohne änderung alpha.
Schreibe einen Kommentar