Python scikits - Buffer has wrong number of dimensions (expected 1, got 2)

zubinmehta picture zubinmehta · Nov 14, 2011 · Viewed 14.8k times · Source

I am trying this code snippet. I am using 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)

I am getting this -->

/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)

What is wrong in here?

Answer

zubinmehta picture zubinmehta · Nov 14, 2011

Solved. The error was due to:

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

It should have been:

y = np.zeros([num_rows])