Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

84 строки
5.8 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Лабораторная работа №3. Классификация текстовых данных
## Цель работы
Получить практические навыки решения задачи классификации текстовых данных в среде Jupiter Notebook.
Научиться проводить предварительную обработку текстовых данных, настраивать параметры методов классификации и обучать модели, оценивать точность полученных моделей
## Задание
1. Загрузить выборки по варианту из лабораторной работы №2. Стемминг проводить не нужно.
2. Используя GridSearchCV произвести предварительную обработку данных и настройку методов классификации в соответствие с заданием,
вывести оптимальные значения параметров и качество классификации модели (взвешенная f1-мера) с данными параметрами. Область поиска параметров прдеварительно обработки выбрать с учетом результатов ЛР2.
3. Перевести выборку к векторному представлению word embedding согласно варианту.
4. Провести обучение и настройку тех же алгоритмов классификации и с теми же параметрами, что и в п.2, но на выборке, представленной с помощью word embedding
5. По каждому пункту работы занести в отчет программный код и результат вывода.
6. Оформить сравнительную таблицу с результатами классификации различными методами с разными настройками. Объяснить результаты и подумать, как их можно улучшить.
Сделать выводы о наиболее подходящем методе классификации ваших данных с указанием параметров метода и описанием предварительной обработки данных.
## Варианты заданий
| Вариант | Метод | Word embedding |
| :--- | :--- | :--- |
| 1 | KNN, SVM | glove-wiki-gigaword-50 |
| 2 | RF, MNB | glove-wiki-gigaword-100
| 3 | KNN, DT | glove-wiki-gigaword-200 |
| 4 | RF, KNN | glove-wiki-gigaword-300 |
| 5 | LR, MNB | word2vec-google-news-300 |
| 6 | DT, LR | glove-wiki-gigaword-200 |
| 7 | RF, SVM | glove-twitter-100 |
| 8 | SVM, DT | glove-twitter-200 |
| 9 | RF, SVM | glove-twitter-100 |
| 10 | MNB, SVM | glove-twitter-25 |
| 11 | MNB, DT | word2vec-google-news-300 |
| 12 | RF, LR | glove-twitter-50 |
## Параметры, которые необходимо настроить
Помимо параметров предварительной обработки, таких как: взвешивание, отсечение стоп-слов,
количество информативных терминов, для каждого метода классификации необходимо настроить следующие параметры:
**К-ближайших соседей (KNN):**
* количество ближайших соседей,
* метрика (евклидова, косинусная)
**Дерево решений (DT):**
* критерий (параметр criterion: gini, entropy),
* глубина дерева (параметр max_depth: {5, 15, 50, 100}).
**Случайный лес (RF):**
* количество деревьев решений (параметр n_estimators: {5, 30, 100}),
* критерий (параметр criterion: gini, entropy),
* глубина дерева (параметр max_depth: {5, 15, 50}).
**Логистическая регрессия (LR):**
* метод нахождения экстремума (параметр solver: newton-cg, lbfgs, sag, liblinear),
* регуляризация (параметр penalty: L1, L2)
Обратить внимание, что разные виды регуляризации работают с разными методами нахождения экстремума.
Предлагается сначала настроить модель для одного из типом регулязиации, затем для другого, и выбрать лучшую модель из двух.
**Метод опорных векторов (SVM):**
* функция потерь (параметр kernel: linear, rbf),
* коэффициент регуляризации (параметр C: {0.1, 1, 5})
**Мультиномиальный Наивный Байесовский метод (MNB)**
* параметр сглаживания α (параметр alpha: {0.1, 1, 2})
## Контрольные вопросы
1. Алгоритм и особенности метода опорных векторов.
2. Алгоритм и особенности метода логистической регрессии.
3. Алгоритм и особенности метода деревьев решений.
4. Что такое регуляризация?
5. Что такое метрика расстояния? Какие метрики вам известны?