'after using logistics regression i got ValueError: y should be a 1d array, got an array of shape (295, 7) instead

#splitting the dataset into dependent(y) and independent variable(x)
x = training_data.iloc[:,[0,2,3,4,5,6,7]].values
y = training_data.iloc[:,1].values
from sklearn.model_selection import train_test_split
x_train,y_train,x_test,y_test = train_test_split(x,y,test_size = 0.3,random_state = 0)
from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
model.fit(x_train,y_train)

i am trying to use logistic regression to train independent(x_train) and dependent variable(y_train) but everytime i run the code i see error ValueError: y should be a 1d array, got an array of shape (295, 7) instead. i don't know what to do



Solution 1:[1]

You have an error when making the train_test_split.

Be aware of output variables order, the correct output is like below:

X_train, X_test, y_train, y_test = train_test_split(x,y,test_size = 0.3,random_state=0)

Just changing this line, your problem should disappear.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1