#python #valueerror
#питон #ошибка значения
Вопрос:
import numpy as mp import pandas as pd import nltk from nltk.corpus import stopwords import string df = pd.read_csv('email_spam.csv') df.drop_duplicates(inplace = True) df.isnull().sum() nltk.download('stopwords') def process_text(text): nopunc = [char for char in text if char not in string.punctuation] nopunc = ''.join(nopunc) clean_words = [word for word in nopunc.split() if word.lower() not in stopwords.words('english')] return clean_words df['text'].head().apply(process_text) from sklearn.feature_extraction.text import CountVectorizer messages_bow = CountVectorizer(analyzer=process_text).fit_transform(df['text']) from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(messages_bow, df['type'], test_size = 0.20, random_state = 0) from sklearn.naive_bayes import MultinomialNB classifier = MultinomialNB().fit(X_train, y_train) from sklearn.metrics import classification_report, confusion_matrix, accuracy_score pre = classifier.predict(X_train) print(classification_report(y_train,pre),'n') print("Confusion matrix ::: n ", confusion_matrix(y_train,pre)) print() print("Accuracy score : ",accuracy_score(y_train,pre)) pre = classifier.predict(X_test) print(classification_report(y_test,pre),'n') print("Confusion matrix ::: n ", confusion_matrix(y_test,pre)) print() print("Accuracy score : ",accuracy_score(y_test,pre)) input_mail = [input()] input_mail_features = CountVectorizer(analyzer=process_text).fit_transform(input_mail) prediction = classifier.predict(input_mail_features)
Ошибка -gt; Обратная трассировка ошибки значения (последний последний вызов) в () 1 input_mail = [ввод()] 2 input_mail_features = счетчик(анализатор=process_text).fit_transform(input_mail) —-gt; 3 предсказание = классификатор.предсказать(input_mail_features)
3 кадров /usr/local/lib/python3.7/dist-packages/sklearn/base.py в check_n_features(самообслуживание, х, сброс) 394 если n_features != самовывоз.n_features_in: 395 поднять ValueError( —gt; 396 Ф»Х {n_features} характеристики, но {самоуправления.класс.наименование} «397 Ф»ожидает {самоуправления.n_features_in_} функции в качестве входных данных».398 )
Ошибка значения: X имеет 1 функцию, но MultinomialNB ожидает 11401 функцию в качестве входных данных.
Комментарии:
1. Привет, добро пожаловать в SO. Было бы полезно задать конкретный вопрос, а не просто ввод и вывод. Точно так же было бы здорово сосредоточиться на той части, которая является проблемой, а не на всем в сценарии, и если вы сможете создать воспроизводимый пример еще лучше.