Подтвердить что ты не робот

Ошибка пиренейского пика: UnicodeDecodeError

Я пытаюсь сделать некоторую текстовую классификацию с помощью Textblob. Сначала я тренирую модель и сериализую ее, используя рассол, как показано ниже.

import pickle
from textblob.classifiers import NaiveBayesClassifier

with open('sample.csv', 'r') as fp:
     cl = NaiveBayesClassifier(fp, format="csv")

f = open('sample_classifier.pickle', 'wb')
pickle.dump(cl, f)
f.close()

И когда я пытаюсь запустить этот файл:

import pickle
f = open('sample_classifier.pickle', encoding="utf8")
cl = pickle.load(f)    
f.close()

Я получаю эту ошибку:

UnicodeDecodeError: кодек "utf-8" не может декодировать байт 0x80 в позиции 0: недопустимый стартовый байт

Ниже приведено содержимое моего sample.csv:

Мой SQL работает некорректно. Это был неправильный выбор, SQL

У меня проблемы. Пожалуйста, немедленно ответьте,

Где я здесь ошибаюсь? Пожалуйста, помогите.

4b9b3361

Ответ 1

Выбирая open файл в режиме wb, вы выбираете запись в необработанном двоичном формате. Не применяется кодировка символов.

Таким образом, чтобы прочитать этот файл, вы должны просто open в режиме rb.

Ответ 2

Я думаю, вы должны открыть файл как

f = open('sample_classifier.pickle', 'rb')
cl = pickle.load(f)   

Вам не нужно расшифровывать его. pickle.load даст вам точную копию того, что вы сохранили. На этом этапе вы должны иметь возможность работать с cl, как будто вы только что создали его.