'After executing the last line i get following error: ValueError: y should be a 1d array, got an array of shape (4457, 2) instead
y = pd.get_dummies(messages['label'])
y = y.iloc[:,1].values
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20,random_state = 0)
from sklearn.naive_bayes import MultinomialNB
spam_detect_model = MultinomialNB().fit(X_train, y_train)
y_pred = spam_detect_model.predict(y_test)
<after this getting this error ValueError: y should be a 1d array, got an array of shape (4457, 2) instead.>
Solution 1:[1]
First of all, directly under your y variable, do this to convert it to integer:
y = y.apply(lambda x: x.argmax(), axis=1).values
And y_pred = spam_detect_model.predict(X_test) not y_test.
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 | S.B |
