Python scikits - 缓冲区的维数错误(预期为 1,得到 2)

Posted

技术标签:

【中文标题】Python scikits - 缓冲区的维数错误(预期为 1,得到 2)【英文标题】:Python scikits - Buffer has wrong number of dimensions (expected 1, got 2) 【发布时间】:2011-12-28 17:46:20 【问题描述】:

我正在尝试此代码 sn-p。我正在使用 scikits.learn 0.8.1

from scikits.learn import linear_model
import numpy as np
num_rows = 10000
X = np.zeros([num_rows,2])
y = np.zeros([num_rows,1])
# assume here I have filled in X and y appropriately with 0s and 1s from the dataset
clf = linear_model.LogisticRegression()
clf.fit(X, y)

我收到了 -->

/usr/local/lib/python2.6/dist-packages/scikits/learn/svm/liblinear.so in scikits.learn.svm.liblinear.train_wrap (scikits/learn/svm/liblinear.c:992)()

ValueError: Buffer has wrong number of dimensions (expected 1, got 2)

这里有什么问题?

【问题讨论】:

这是一个来自 numpy 的通用错误,它禁止将参数作为数组。 【参考方案1】:

解决了。错误是由于:

y = np.zeros([num_rows,1])

应该是:

y = np.zeros([num_rows])

【讨论】:

或者只是np.zeros(num_rows)

以上是关于Python scikits - 缓冲区的维数错误(预期为 1,得到 2)的主要内容,如果未能解决你的问题,请参考以下文章

Cython ValueError:缓冲区的维数错误(预期为 2,得到 3)

pandas:转换数据帧集合时,缓冲区的维数错误(预期为1,得0)

错误的维数:预期为 0,得到 1,形状为 (1,)

通道交换需要与 caffe 中的输入通道错误具有相同的维数

在 OpenCV 中使用 PCA 进行降维,特征向量的维数错误

如何找到数组的维数?