neden aşağıdaki önemsiz kod parçacığı:Basit bir örnek - açıklayamaz sınıflandırma 0.10</p> <p>scikit-öğrenme kullanma
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])
Baskı üzerinden bir cevap "1"? Modeli [0,0,0,0,0] => 2 olarak eğittim, cevap olarak "2" yi bekliyordum.
Ve neden
Y = np.array([ 3, 2 ])
ile Y yerine bir cevap (doğru bir) gibi farklı bir sınıf "2" Give geliyor? Bu sadece bir sınıf etiketi değil mi?
Birisi buna ışık tutabilir mi? sınıflandırıcı equiprobable gibi tüm sınıflandırmaları gördüğünü gösterir
array([[ 0.5, 0.5],
[ 0.5, 0.5]])
verir
clf.predict_proba(X)
tarafından gösterilebilir olarak
Haklısınız, değişen Y değişmemelidir. Mevcut usta ile çoğaltabilirim. Sanırım bu kararsız sınıflandırıcı ile ilgili. –
0.18.2 kullanarak, alfa değiştirmeden 2 alıyorum. – Aaron