簡體   English   中英

ValueError: y 應該是一個一維數組,取而代之的是一個形狀為 (295, 9) 的數組

[英]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. 是分配不對還是什么?

電子表格數據集

#Train 測試拆分

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_sizerandom_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM