ValueError:在预测新值情感分析时维度不匹配

时间:2020-03-14 19:03:18

标签: python machine-learning twitter sentiment-analysis naivebayes

我对机器学习学科比较陌生。我正在尝试进行情绪分析预测。

“类型”列包含鸣叫的情绪(正弦,负弦或中性为0,1和2)。 “推文”列包括推文。

我试图将新的推文情绪预测为0,1和2。

当我编写此处给出的代码时,出现尺寸不匹配错误。

import pandas as pd
train_tweets = pd.read_csv("tweets_type.csv")
from sklearn.model_selection import train_test_split

y = train_tweets.Type
X= train_tweets.Tweet

train_X, test_X, train_y, test_y = train_test_split(X, y, random_state=1)

from sklearn.feature_extraction.text import CountVectorizer

vect = CountVectorizer()

vect.fit(train_X)
train_X_dtm = vect.transform(train_X)

test_X_dtm = vect.transform(test_X)
test_X_dtm

from sklearn.naive_bayes import MultinomialNB
nb = MultinomialNB()

%time nb.fit(train_X_dtm, train_y)

# make class predictions for X_test_dtm
y_pred_class = nb.predict(test_X_dtm)

# calculate accuracy of class predictions
from sklearn import metrics
from sklearn.metrics import classification_report, confusion_matrix
metrics.accuracy_score(test_y, y_pred_class)

march_tweets = pd.read_csv("march_data.csv")
X=march_tweets.Tweet
vect.fit(X)
train_new_dtm = vect.transform(X)

new_pred_class = nb.predict(train_new_dtm)

我得到的错误在这里:

enter image description here

如果能帮助我,会很高兴。

1 个答案:

答案 0 :(得分:0)

在我已经安装好train_X之后,似乎在安装X时出错。我发现,一旦安装好模型,便无需重复进行此操作。所以我要做的是删除了这条线,它工作得很好。

vect.fit(X)