2016-07-07 3 views
1

Я знаю, что прохождение 1-го массива устарело в классификаторе Наивного Байеса, о котором я не знаю почему. Однако по некоторым причинам, как только я построил свою модель, я хочу перебрать список элементов, и для каждого элемента я должен назвать наивный классификатор для прогнозирования класса. Итак, представьте, что мой набор упражнений - X, а мой целевой класс - Y: И тогда я хочу вызвать классификатор для образца xx.Наивные заливы scikit узнают предупреждение «Отказ: Предупреждение: Передача 1-го массива»

X = np.array([[1,0,1,1],[1,1,1,0],[0,0,0,1],[1,0,1,0]) 

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

from sklearn.naive_bayes import GaussianNB 
clf = GaussianNB() 
clf.fit(X, Y) 
GaussianNB() 

xx=[1,1,0,0] 
clf.predict_proba(xx) 

Как я могу исправить свой код, чтобы избавиться от этого предупреждения?

ответ

1

Данные испытаний должны иметь такую ​​же структуру, как и ваши данные обучения, модифицируя тестирование xx на:

xx=[[1,1,0,0]] 

избавится от предупреждения.

+1

wow. очень просто. благодаря – HimanAB