2011-11-14 2 views
3

J'essaye cet extrait de code. J'utilise scikits.learn 0.8.1Scikits Python - Buffer a un mauvais nombre de dimensions (attendu 1, a obtenu 2)

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) 

Je reçois ce ->

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

Quel est le problème ici?

+0

C'est une erreur générique de numpy quand il défend un argument d'être un tableau. – smci

Répondre

5

Résolu. L'erreur est due à:

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

Il aurait dû être:

y = np.zeros([num_rows]) 
+3

Ou juste 'np.zeros (num_rows)'. –

Questions connexes