Как сделать модель OneClassSVM более точной? (Scikit-Learn)
Я пытался классифицировать автора, используя несколько текстов, написанных этим автором, которые я затем использовал бы, чтобы найти сходства в других текстах, чтобы идентифицировать этого автора в тестовой группе.
Мне удалось сделать некоторые прогнозы, однако я все еще получаю результаты, в которых не удалось предсказать автора.
Я предварительно обработал тексты с выделением корней, токенизацией, стоп-словами, удалением знаков препинания и т. Д., Чтобы сделать его более точным.
Я не знаком с тем, как именно работают параметры OneClassSVM. Какие параметры я мог бы использовать для решения моей проблемы и как сделать мою модель более точной в ее предсказаниях?
Вот что у меня есть на данный момент:
vectorizer = TfidfVectorizer()
author_corpus = self.pre_process(author_corpus)
test_corpus = self.pre_process(test_corpus)
train = author_corpus
test = test_corpus
train_vectors = vectorizer.fit_transform(train)
test_vectors = vectorizer.transform(test)
model = OneClassSVM(kernel='linear', gamma='auto', nu=0.01)
model.fit(train_vectors)
test_predictions = model.predict(test_vectors)
print(test_predictions[:10])
print(model.score_samples(test_vectors)[:10])
2 ответа
Я слышал положительные отзывы о классе глубокого обучения Эндрю Нг на Coursera. Я узнал все, что знаю об ИИ, используя профессиональную сертификацию Microsoft по ИИ на edx.
Вы можете использовать SVM, но глубокое обучение действительно хорошо для этого подходит. Я провел соревнование Kaggle с классификационными документами, и это было потрясающе.
Если вы не думаете, что у вас достаточно большой набор данных, вы можете просто взять модель классификатора текста и заново обучить последний слой на вашем авторе, а затем настроить остальную модель.