# Лабораторная работа №3. Классификация текстовых данных ## Цель работы Получить практические навыки решения задачи классификации текстовых данных в среде Jupiter Notebook. Научиться проводить предварительную обработку текстовых данных, настраивать параметры методов классификации и обучать модели, оценивать точность полученных моделей ## Задание 1. Загрузить выборки по варианту из лабораторной работы №2. Стемминг проводить не нужно. 2. Используя GridSearchCV произвести предварительную обработку данных и настройку методов классификации в соответствие с заданием, вывести оптимальные значения параметров и качество классификации модели (взвешенная f1-мера) с данными параметрами. 3. Перевести выборку к векторному представлению word embedding согласно варианту. 4. Провести обучение и настройку тех же алгоритмов классификации и с теми же параметрами, что и в п.2, но на векторизованной выборке 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. Что такое метрика расстояния? Какие метрики вам известны?