Files
TDA/labs/OATD_LR3.md
Andrey b5b773aff3 LR3
2025-03-20 09:04:11 +03:00

84 строки
5.8 KiB
Markdown
Исходник Ответственный История

Этот файл содержит неоднозначные символы Юникода
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Лабораторная работа №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. Что такое метрика расстояния? Какие метрики вам известны?