Usando scikit-learn 0,10ejemplo simple que utiliza BernoulliNB (Bayes ingenuo clasificador) scikit-learn en Python - no puede explicar la clasificación
¿Por qué el siguiente fragmento de código trivial:
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])
Imprime una respuesta de "1"? Habiendo entrenado el modelo en [0,0,0,0,0] => 2 esperaba la respuesta "2".
y por qué reemplazar Y con
Y = np.array([ 3, 2 ])
Dale una clase diferente "2" como una respuesta (la correcta)? ¿No es solo una etiqueta de clase?
¿Alguien puede arrojar algo de luz sobre esto?
Tienes razón, cambiar Y no debería cambiar nada. Podría reproducirme con el maestro actual. Supongo que esto tiene que ver con que el clasificador esté indeciso. –
Usando 0.18.2, obtengo 2 sin cambiar alfa. – Aaron