首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >伯努利朴素贝叶斯错误: ValueError:未知标签类型:(array([0,0,0,...,0,0,0],dtype=object),)

伯努利朴素贝叶斯错误: ValueError:未知标签类型:(array([0,0,0,...,0,0,0],dtype=object),)
EN

Stack Overflow用户
提问于 2016-12-16 15:57:46
回答 1查看 718关注 0票数 1

我有两个numpy数组x和y是从sframe中获取的,其中x有6维,y(目标变量)有1维。

代码语言:javascript
复制
x =np.array([[ 0 , 0 , 0, 24 ,0, 34], [ 0 , 0 , 0, 22 ,0, 34], ...])
y = np.array([[0], [0], [0], [1], [1], ...])

我正在使用scikit-learn来应用朴素贝叶斯分类器。当我尝试在朴素贝叶斯分类器中拟合x和y时,我给出了以下错误:

代码语言:javascript
复制
/home/.../local/lib/python2.7/site-packages/sklearn/utils/validation.py:526: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().

      Traceback (most recent call last):
  File "main_naive.py", line 10, in <module>
    main()
  File "main_naive.py", line 7, in main
    naive_bayes.predict()
  File "/home/.../naive_bayes_model.py", line 184, in predict
    self.naive_bayes.fit(x, y)
  File "/home/.../local/lib/python2.7/site-packages/sklearn/naive_bayes.py", line 566, in fit
    Y = labelbin.fit_transform(y)
  File "/home/.../local/lib/python2.7/site-packages/sklearn/base.py", line 494, in fit_transform
    return self.fit(X, **fit_params).transform(X)
  File "/home/.../local/lib/python2.7/site-packages/sklearn/preprocessing/label.py", line 304, in fit
    self.classes_ = unique_labels(y)
  File "/home/.../local/lib/python2.7/site-packages/sklearn/utils/multiclass.py", line 98, in unique_labels
    raise ValueError("Unknown label type: %s" % repr(ys))
ValueError: Unknown label type: (array([0, 0, 0, ..., 0, 0, 0], dtype=object),)

下面是我的代码:

代码语言:javascript
复制
from sklearn.naive_bayes import BernoulliNB
naive_bayes = BernoulliNB(alpha=1e-2)
#x = self.training1[self.feature_columns].to_numpy()
#x = x.reshape(-len(self.feature_columns), len(self.feature_columns))
#y = self.training1[[target_column]].to_numpy()
#y = y.reshape(-1L,1L)    
x =np.array([[ 0 , 0 , 0, 24 ,0, 34], [ 0 , 0 , 0, 22 ,0, 34], ...])
y = np.array([[0], [0], [0], [1], [1], ...])    
naive_bayes.fit(x, y)

我哪里错了?

EN

回答 1

Stack Overflow用户

发布于 2016-12-16 18:37:06

我发现了问题所在。这是因为y包含' None‘值,所以我简单地从y中删除了None值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41179710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档