天真的贝叶斯scikit学习警告"弃用警告:传递1d阵列"

时间:2016-07-07 01:23:48

标签: python scikit-learn naivebayes

我知道在Naive Bayes分类器中不推荐传递1d数组,我不知道为什么。但是,出于某些原因,一旦我构建了模型,我想循环遍历项目列表,对于每个项目,我应该调用天真分类器来预测类。所以,想象一下我的训练集是X而我的目标类集是Y:然后我想调用分类器来获取样本xx。

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 个答案:

答案 0 :(得分:1)

您的测试数据应与您的培训数据具有相同的结构,并将测试xx修改为:

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

将摆脱警告。