Как сделать модель OneClassSVM более точной? (Scikit учиться) - PullRequest
0 голосов
/ 03 марта 2020

Я пытался классифицировать автора, используя несколько текстов, написанных этим автором, которые я затем использовал бы, чтобы найти сходства в других текстах, чтобы идентифицировать этого автора в тестовой группе.

Я был успешным с некоторые из предсказаний, однако я все еще получаю результаты, в которых не удалось предсказать автора.

Я уже предварительно обработал тексты, поставив их в очередь, ставя токены, останавливая слова, удаляя знаки препинания и др. c. в попытке сделать это более точным.

Я не знаю, как именно работают параметры 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 ]

0 голосов
/ 04 марта 2020

Я слышал положительные отзывы о курсах глубокого обучения Эндрю Нг на Coursera. Я узнал все, что знаю об искусственном интеллекте, используя Microsoft Professional Certification в AI на edx.

0 голосов
/ 03 марта 2020

Вы можете использовать SVM, но глубокое обучение действительно подходит для этого. Я участвовал в конкурсе Kaggle с классификацией документов, которая была великолепна для этого.

Если вы не думаете, что у вас достаточно большой набор данных, вы можете просто взять модель классификатора текста и переобучить последний слой на вашем авторе, а затем настройте остальную часть модели.

...