[英]ValueError: y should be a 1d array, got an array of shape (295, 9) instead
我有一個關於 Twitter 上的意見的情緒數據集,我處理了這些情緒后 label 我想根據我標記的情緒分享數據。 現在,當我使用 model train_test_split
代碼共享它時,當我使用朴素貝葉斯將其與預測階段 model 匹配時,它會工作,出現錯誤值ValueError: y should be a 1d array, got an array of shape (295, 9) instead.
是分配不對還是什么?
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(text_tf, sentimen, test_size=0.78, random_state=0)
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
clf = MultinomialNB()
clf.fit(X_train, y_train)
predicted = clf.predict(X_test)
print("MultinomialNB Accuracy:", accuracy_score(y_test,predicted))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-55-90624fc1891c> in <module>
4 from sklearn.metrics import confusion_matrix
5 clf = MultinomialNB()
----> 6 clf.fit(X_train, y_train)
7 predicted = clf.predict(X_test)
8
5 frames
/usr/local/lib/python3.7/dist-packages/sklearn/utils/validation.py in column_or_1d(y, warn)
1037
1038 raise ValueError(
-> 1039 "y should be a 1d array, got an array of shape {} instead.".format(shape)
1040 )
1041
ValueError: y should be a 1d array, got an array of shape (295, 9) instead.
我試圖改變test_size
和random_state
部分,但它只改變值錯誤說同樣的事情只改變大小
根據文檔https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.MultinomialNB.html
fit(X, y, sample_weight=None) 根據X, y擬合朴素貝葉斯分類器。
yarray-like of shape (n_samples,) 目標值。
y 應該是一維數組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.