Родитель
004bfe838b
Сommit
bc29a5da9c
@ -0,0 +1,67 @@
|
||||
# Лабораторная работа №1. Бинарная классификация фактографических данных
|
||||
|
||||
## Цель работы
|
||||
|
||||
Получить практические навыки решения задачи бинарной классификации данных в среде Jupyter Notebook.
|
||||
Научиться загружать данные, обучать классификаторы и проводить классификацию. Научиться оценивать точность полученных моделей.
|
||||
|
||||
## Задание
|
||||
|
||||
1. В среде Jupyter Notebook создать новый ноутбук (Notebook)
|
||||
2. Импортировать необходимые для работы библиотеки и модули
|
||||
3. Загрузить данные в соответствие с вариантом
|
||||
4. Вывести первые 15 элементов выборки (координаты точек и метки класса)
|
||||
5. Отобразить на графике сгенерированную выборку. Объекты разных классов должны иметь разные цвета.
|
||||
6. Разбить данные на обучающую (`train`) и тестовую (`test`) выборки в пропорции 75% - 25% соответственно.
|
||||
7. Отобразить на графике обучающую и тестовую выборки. Объекты разных классов должны иметь разные цвета.
|
||||
8. Реализовать модели классификаторов, обучить их на обучающем множестве. Применить модели на тестовой выборке, вывести результаты классификации:
|
||||
|
||||
* Истинные и предсказанные метки классов
|
||||
* Матрицу ошибок (`confusion matrix`)
|
||||
* Значения полноты, точности, f1-меры и аккуратности
|
||||
* Значение площади под кривой ошибок (`AUC ROC`)
|
||||
* Отобразить на графике область принятия решений по каждому классу
|
||||
|
||||
В качестве методов классификации использовать:
|
||||
|
||||
* Метод к-ближайших соседей (`n_neighbors` = {1, 3, 9})
|
||||
* Наивный байесовский метод
|
||||
* Случайный лес (`n_estimators` = {5, 15, 50})
|
||||
|
||||
9. По результатам п.8 занести в отчет таблицу с результатами классификации всеми методами.
|
||||
10. Изучить, как изменится качество классификации в случае другого разбиения выборки на обучающую и тестовую. Для этого повторить пункты 6, передав в параметр `random_state` новое значение, и пункты 8-9 дважды.
|
||||
11. По результатам трех экспериментов составить итоговую таблицу о качестве классификаци каждым методом, включив в нее значения полноты, точности, f1-меры, аккуратности и площади под кривой ошибок.
|
||||
Сделать выводы о наиболее подходящем методе классификации ваших данных
|
||||
|
||||
## Варианты заданий
|
||||
|
||||
Объем выборки для всех вариантов – `n_samples = 1000` объектов.
|
||||
| Вариант | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|
||||
| :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
|
||||
| Вид классов | blobs | blobs | blobs | blobs | moons | moons | moons | moons |
|
||||
| random_state| 34 | 28 | 41 | 23 | 41 | 23 | 77 | 15 |
|
||||
| cluster_std | 1.5 | 4.5 | 3 | 5 | - | - | - | - |
|
||||
| noise | - | - | - | - | 0.25 | 0.3 | 0.25 | 0.2 |
|
||||
| centers | 2 | 2 | 2 | 2 | - | - | - | - |
|
||||
|
||||
|
||||
| Вариант | 9 | 10 | 11 | 12 |
|
||||
| :--- | :---: | :---: | :---: | :---: |
|
||||
| Вид классов | classification | classification | classification | classification |
|
||||
| random_state| 78 | 58 | 15 | 23 |
|
||||
| calss_sep | 0.45 | 0.7 | 0.6 | 0.35 |
|
||||
|
||||
Для всех вариантов, использующих для генерации `make_classification`, дополнительные параметры: `n_features=2`, `n_redundant=0`, `n_informative=1`, `n_clusters_per_class=1`,
|
||||
|
||||
## Контрольные вопросы
|
||||
|
||||
1. Постановка задачи классификации данных. Что такое бинарная классификация?
|
||||
2. Общий алгоритм решения задачи классификации данных.
|
||||
3. Чем отличаются обучающая и тестовая выборки? Какие существуют способы формирования обучающей и тестовой выборок?
|
||||
4. Как рассчитываются значения полноты и точности классификации?
|
||||
5. Как рассчитывается значение площади под кривой ошибок?
|
||||
6. Что показывает и как рассчитывается матрица ошибок?
|
||||
7. Алгоритм и особенности метода к-ближайших соседей.
|
||||
8. Алгоритм и особенности метода случайного леса.
|
||||
|
||||
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
@ -0,0 +1,36 @@
|
||||
# Основы анализа текстовых данных
|
||||
|
||||
## Лекции
|
||||
|
||||
| Дата |Лекция |
|
||||
| :---: | :--- |
|
||||
| 08.02.2023 | Вводная лекция |
|
||||
| 13.02.2023 | Класификация данных. Основные понятия |
|
||||
| 20.02.2023 | to be soon... |
|
||||
|
||||
|
||||
## Лабораторные работы
|
||||
|
||||
### Лабораторная работа №1
|
||||
|
||||
| Группа | Дата |
|
||||
| :--- | :---: |
|
||||
| А-01-19 | 13.02.2023 |
|
||||
| А-03-19 | 08.02.2023 |
|
||||
|
||||
* [Задание](OATD_LR1.md)
|
||||
* [Методические указания](OATD_LR1_metod.ipynb)
|
||||
* [Установка Jupyter Notebook](start_notebook.md)
|
||||
|
||||
### Лабораторная работа №2
|
||||
|
||||
| Группа | Дата |
|
||||
| :--- | :---: |
|
||||
| А-01-19 | 27.02.2023 |
|
||||
| А-03-19 | 20.02.2023 |
|
||||
|
||||
### Лабораторная работа №3
|
||||
|
||||
### Лабораторная работа №4
|
||||
|
||||
|
После Ширина: | Высота: | Размер: 432 KiB |
@ -0,0 +1,22 @@
|
||||
# Установка Jupyter Notebook
|
||||
|
||||
## Локально
|
||||
|
||||
Скачать и установить python https://www.python.org/downloads/, не забыв поставить галочку Add to PATH на самом первом экране
|
||||
|
||||

|
||||
|
||||
В командной строке Windows по очереди выполнить установку пакетов:
|
||||
|
||||
```
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install notebook
|
||||
python -m pip install sklearn
|
||||
python -m pip install matplotlib
|
||||
```
|
||||
|
||||
Готово. Запускать Jupyter можно из командной строки командой `jupyter notebook`. Рабочей папкой будет та, из которой данная команда была выполнена.
|
||||
|
||||
## Онлайн
|
||||
|
||||
Допустимо вместо локальной установки Jupyter использовать [Google colab](https://colab.research.google.com/?hl=ru)
|
Загрузка…
Ссылка в новой задаче