朴素贝叶斯 scikit 学习警告“DeprecationWarning: Passing 1d arrays”
Posted
技术标签:
【中文标题】朴素贝叶斯 scikit 学习警告“DeprecationWarning: Passing 1d arrays”【英文标题】:Naive bayes scikit learn warning "DeprecationWarning: Passing 1d arrays" 【发布时间】:2016-11-09 05:31:47 【问题描述】:我知道在朴素贝叶斯分类器中不推荐使用传递一维数组,我不知道为什么。然而,由于某些原因,一旦我建立了我的模型,我想遍历一个项目列表,并且对于每个项目我应该调用天真的分类器来预测类。所以,假设我的训练集是 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】:您的测试数据应该与您的训练数据具有相同的结构,将您的测试xx
修改为:
xx=[[1,1,0,0]]
将摆脱警告。
【讨论】:
以上是关于朴素贝叶斯 scikit 学习警告“DeprecationWarning: Passing 1d arrays”的主要内容,如果未能解决你的问题,请参考以下文章