Andrey 1 год назад
Родитель ae73930ae4
Сommit 99af1be1a6

@ -45,4 +45,15 @@
* [Методические указания](labs/OATD_LR2_metod.ipynb) * [Методические указания](labs/OATD_LR2_metod.ipynb)
### Лабораторная работа №3
| Группа | Дата |
|:--------|:----------:|
| А-01-20 | 09.04.2024 |
| А-03-20 | 16.04.2024 |
* [Задание](labs/OATD_LR3.md)
* [Методические указания](labs/OATD_LR3_metod.ipynb)

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

@ -99,7 +99,7 @@
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"Далее необходимо создать объект класса `GridSearchCV`, передав в него объект `pipeline` или классификатор, список параметров сетки, а также при необходимости, задав прочие параметры, такие так количество задействованых ядер процессора `n_jobs`, количество фолдов кросс-валидации `cv` и другие" "Далее необходимо создать объект класса `GridSearchCV`, передав в него объект `pipeline` или классификатор, список параметров сетки, а также при необходимости, задав прочие параметры, такие так количество задействованых ядер процессора `n_jobs`, количество фолдов кросс-валидации `cv`, метрику, по которой будем судить о качестве модели `scoring`, и другие"
] ]
}, },
{ {
@ -108,7 +108,7 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"gs_clf = GridSearchCV(text_clf, parameters, n_jobs=-1, cv=3)" "gs_clf = GridSearchCV(text_clf, parameters, n_jobs=-1, cv=3, scoring = 'f1_weighted')"
] ]
}, },
{ {

Двоичные данные
lections/OATD_lec_7.pdf

Двоичный файл не отображается.

Двоичные данные
lections/OATD_lec_7.pptx

Двоичный файл не отображается.

Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Загрузка…
Отмена
Сохранить