首页 > 解决方案 > ValueError:预测新值时的维度不匹配情绪分析

问题描述

我对机器学习主题相对较新。我正在尝试进行情绪分析预测。

类型列包括推文的情绪(pos、neg 或中性为 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)

我得到的错误在这里:

在此处输入图像描述

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

标签: pythonmachine-learningtwittersentiment-analysisnaivebayes

解决方案


在我已经安装了 train_X 之后,我似乎在安装 X 时犯了一个错误。我发现一旦你安装了模型,重复这样做是没有用的。所以我所做的是我删除了这条线,它工作得很好。

vect.fit(X)

推荐阅读