Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

sklearn Logistic Regression "ValueError: Found array with dim 3. Estimator expected <= 2."

I attempt to solve this problem 6 in this notebook. The question is to train a simple model on this data using 50, 100, 1000 and 5000 training samples by using the LogisticRegression model from sklearn.linear_model.

lr = LogisticRegression() lr.fit(train_dataset,train_labels) 

This is the code i trying to do and it give me the error.

ValueError: Found array with dim 3. Estimator expected <= 2.

Any idea?

UPDATE 1: Update the link to the Jupyter Notebook.

like image 774
edwin Avatar asked Jan 24 '16 04:01

edwin


1 Answers

scikit-learn expects 2d num arrays for the training dataset for a fit function. The dataset you are passing in is a 3d array you need to reshape the array into a 2d.

nsamples, nx, ny = train_dataset.shape d2_train_dataset = train_dataset.reshape((nsamples,nx*ny)) 
like image 86
Kristian K. Avatar answered Oct 02 '22 21:10

Kristian K.