2016-07-07 87 views
1

我知道传递1d数组已弃用Naive Bayes分类器,我不知道为什么。然而,出于某些原因,一旦我建立了我的模型,我想循环遍历项目列表,并且对于每个项目我应该调用朴素分类器来预测类。所以,假设我的训练集是X,我的目标类集是Y:然后我想调用分类器来获取样本xx。朴素贝叶斯scikit学习警告“DeprecationWarning:传递1d数组”

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

哇。很简单。谢谢 – HimanAB