| .gitignore | ||
| README.md | ||
| requirements.txt | ||
| week4_scikit_learn.ipynb | ||
Лабораторная работа 4: scikit-learn
Описание
В данной лабораторной работе используется библиотека scikit-learn для решения двух задач:
- Базовый пример классификации с помощью
MLPClassifierна датасете Iris. - Обнаружение выбросов с помощью метода Local Outlier Factor (LOF):
- на синтетических данных (
make_moons+ искусственно добавленные выбросы), - на реальном датасете Credit Card Fraud из OpenML.
- на синтетических данных (
Цель работы
Изучить базовые возможности библиотеки scikit-learn и применить её:
- для построения модели классификации,
- для решения задачи обнаружения аномалий.
Выполненные задания
1. Классификация с помощью MLPClassifier
- Загружен стандартный датасет Iris.
- Выполнено разбиение выборки на обучающую и тестовую части.
- Обучена модель
MLPClassifier. - Получены метрики качества с помощью
classification_report.
2. Исследование влияния max_iter
- Проверено, как изменение параметра
max_iterвлияет на обучение модели. - Сравнены результаты при меньшем числе итераций и при
max_iter = 2500. - Сделан вывод о том, что увеличение числа итераций позволяет модели лучше сходиться, но на простом датасете Iris заметный прирост качества обычно невелик.
3. Обнаружение выбросов методом LOF на синтетических данных
- Сгенерирован датасет
make_moons. - Добавлены искусственные выбросы.
- Данные масштабированы с помощью
StandardScaler. - Обучен
LocalOutlierFactor. - Построены графики исходных и предсказанных выбросов.
4. Обнаружение выбросов методом LOF на реальных данных
- Загружен датасет Credit Card Fraud из OpenML.
- Выбраны числовые признаки.
- Выполнено масштабирование признаков.
- Применён
LocalOutlierFactor. - Для визуализации использован
PCAдо двух компонент.
Используемые библиотеки
scikit-learnnumpypandasmatplotlibopenml
Структура проекта
week4_scikit_learn.ipynb— основной Jupyter Notebook с выполнением лабораторной работы.README.md— описание проекта.
Запуск
-
Установить необходимые библиотеки:
pip install scikit-learn numpy pandas matplotlib openml notebook -
Запустить Jupyter Notebook:
jupyter notebook -
Открыть файл:
week4_scikit_learn.ipynb
Краткий вывод
В ходе работы были изучены базовые инструменты библиотеки scikit-learn для задач классификации и обнаружения выбросов.
Было показано, что MLPClassifier хорошо работает на датасете Iris, а метод LOF позволяет находить аномальные объекты как на синтетических, так и на реальных данных.