получение ошибки в python анализе настроений (ValueError: не удалось преобразовать строку в число с плавающей точкой: «это плохая еда») - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь провести анализ настроений НЛП для конкретного данного предложения ... Я обучил модель, используя набор данных для повторного анализа, и она работает правильно, когда я даю данные "xtest" для предсказания, но я получаю эту ошибку, когда я давая свое собственное предложение, чтобы предсказать, будет ли оно положительным или отрицательным, поскольку я новичок ie, поэтому, пожалуйста, помогите и объясните, что я делаю неправильно

Traceback (most recent call last): File "F:/NLP/sentiment_analysis.py", line 35, in <module> pred = model.predict(x) File "C:\Users\RKS\Anaconda3\envs\ADVANCE\lib\site-packages\sklearn\ensemble\_forest.py", line 612, in predict proba = self.predict_proba(X) File "C:\Users\RKS\Anaconda3\envs\ADVANCE\lib\site-packages\sklearn\ensemble\_forest.py", line 656, in predict_proba X = self._validate_X_predict(X) File "C:\Users\RKS\Anaconda3\envs\ADVANCE\lib\site-packages\sklearn\ensemble\_forest.py", line 412, in _validate_X_predict return self.estimators_[0]._validate_X_predict(X, check_input=True) File "C:\Users\RKS\Anaconda3\envs\ADVANCE\lib\site-packages\sklearn\tree\_classes.py", line 380, in _validate_X_predict X = check_array(X, dtype=DTYPE, accept_sparse="csr") File "C:\Users\RKS\Anaconda3\envs\ADVANCE\lib\site-packages\sklearn\utils\validation.py", line 531, in check_array array = np.asarray(array, order=order, dtype=dtype) File "C:\Users\RKS\Anaconda3\envs\ADVANCE\lib\site-packages\numpy\core\_asarray.py", line 85, in asarray return array(a, dtype, copy=False, order=order) ValueError: could not convert string to float: 'this is bad food'

и это мой код:

df = pd.read_csv("Restaurant_Reviews.tsv",delimiter="\t")
corpus = []
for i in range(0,1000):
review = re.sub("[^a-zA-Z]"," ",df["Review"][i])
review = review.lower()
review = review.split()
ps = PorterStemmer()
reviews = [ps.stem(word) for word in review
            if not word in set(stopwords.words("english"))]
review = (" ").join(review)
corpus.append(review)

cv = CountVectorizer(max_features=1500)
X=cv.fit_transform(corpus).toarray()
Y = df.iloc [: ,1].values
x = ["this place is awesome"]
xtrain ,xtest ,ytrain , ytest = train_test_split(X,Y,test_size=0.2)
model = RandomForestClassifier(n_estimators = 501 ,  criterion = 'entropy')
model.fit(xtrain,ytrain)
pred = model.predict(x)
print(pred)
...