Search code examples
pythonpandasmachine-learningscikit-learnregsvr32

How to resolve raise ValueError("bad input shape {0}".format(shape)); ValueError: bad input shape (977, 57)


A dataset has more than 2500 rows and 22 columns including the age column. I have completed all of the processes for SVR. It going on. But I am still having to face an error. That is raise ValueError("bad input shape {0}".format(shape)), ValueError: bad input shape (977, 57). My input is SupportVectorRefModel.fit(X_train, y_train). How can I resolve this problem?

from sklearn.model_selection 
import train_test_split 
from sklearn.svm import SVR 

X_train, y_train = dataset.loc[:1000], dataset.loc[:1000] 
X_test, y_test = dataset.loc[1001], dataset.loc[1001] 
train_X, train_y = X_train.drop(columns=['age']), y_train.pop('age')
test_X, test_y = X_test.drop(columns=['age']), y_test.pop('age')

SupportVectorRefModel = SVR()
SupportVectorRefModel.fit(X_train, y_train)

Ouputs :

raise ValueError("bad input shape {0}".format(shape))
ValueError: bad input shape (977, 57)

Solution

  • You need to pass in train_X, train_y to your .fit function. You're currently passing in X_train which is the dataset before you remove the age column.

    This is what it should be

    SupportVectorRefModel = SVR()
    SupportVectorRefModel.fit(train_x, train_y)