Я реализовал модель SVM, которая может классифицировать данный текст на две категории. Модель была обучена и протестирована с использованием набора данных data.csv. Теперь я хочу использовать эту модель с живыми данными. Для этого я использовал библиотеку pickle python. Сначала я сохранил модель.
joblib.dump(clf, "model.pkl")
Затем я загрузил эту модель.
classifer = joblib.load("model.pkl")
Затем я использовал приведенный ниже ввод как текст для классификации.
new_observation = "this news should be in one category"
classifer.predict([new_observation])
Но после запуска это выдает ошибку.
ValueError: не удалось преобразовать строку в число с плавающей точкой: «эта новость должна быть в одной категории»
Я упоминал ниже ссылка, чтобы узнать о том, как сохранить и загрузить обученную модель. [https://scikit-learn.org/stable/modules/model_persistence.html] [1]
РЕДАКТИРОВАТЬ
Вот код, который я использовал для создания модели SVM.
data = pd.read_csv('data1.csv',encoding='cp1252')
def pre_process(text):
text = text.translate(str.maketrans('', '', string.punctuation))
text = [word for word in text.split() if word.lower() not in
stopwords.words('english')]
words = ""
for i in text:
stemmer = SnowballStemmer("english")
words += (stemmer.stem(i))+" "
return words
textFeatures = data['textForCategorized'].copy()
textFeatures = textFeatures.apply(pre_process)
vectorizer = TfidfVectorizer("english")
features = vectorizer.fit_transform(textFeatures)
features_train, features_test, labels_train, labels_test = train_test_split(features, data['class'], test_size=0.3, random_state=111)
svc = SVC(kernel='sigmoid', gamma=1.0)
clf = svc.fit(features_train, labels_train)
prediction = svc.predict(features_test)
И после реализации модели я пытаюсь внести свой вклад в модель.
joblib.dump(clf, "model.pkl")
classifer = joblib.load("model.pkl")
new_observation = "This news should be in one category"
classifer.predict(new_observation)
РЕДАКТИРОВАТЬ
joblib.dump(clf, "model.pkl")
classifer = joblib.load("model.pkl")
textFeature = "Dengue soaring in ......"
textFeature =pre_process(textFeature)
classifer.predict(textFeature.encode())
Вот код, который я использовал для загрузки модели и ввода текста в модель. После этого я добавил код, чтобы получить прогнозное значение. Но я получил ошибку.
ValueError: не удалось преобразовать строку в число с плавающей точкой: b'dengu soar '