Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
68 строки
5.7 KiB
Markdown
68 строки
5.7 KiB
Markdown
# Лабораторная работа №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}, `random_state`=42)
|
|
|
|
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 | 30 |
|
|
| class_sep | 0.45 | 0.7 | 0.6 | 1.0 |
|
|
|
|
Для всех вариантов, использующих для генерации `make_classification`, дополнительные параметры: `n_features=2`, `n_redundant=0`, `n_informative=1`, `n_clusters_per_class=1`,
|
|
|
|
## Контрольные вопросы
|
|
|
|
1. Постановка задачи классификации данных. Что такое бинарная классификация?
|
|
2. Общий алгоритм решения задачи классификации данных.
|
|
3. Чем отличаются обучающая и тестовая выборки? Какие существуют способы формирования обучающей и тестовой выборок?
|
|
4. Как рассчитываются значения полноты и точности классификации?
|
|
5. Как рассчитывается значение площади под кривой ошибок?
|
|
6. Что показывает и как рассчитывается матрица ошибок?
|
|
7. Алгоритм и особенности метода к-ближайших соседей.
|
|
8. Алгоритм и особенности метода случайного леса.
|
|
|
|
|