Обновлён README для Учебной практике по scikit-learn
This commit is contained in:
parent
f76fbb15e8
commit
9bafa16ed1
85
README.md
85
README.md
@ -1,11 +1,78 @@
|
||||
# Лабораторная 4: scikit-learn
|
||||
# Лабораторная работа 4: scikit-learn
|
||||
|
||||
В рамках работы использованы:
|
||||
- базовый пример MLPClassifier на датасете Iris;
|
||||
- пример LOF (Local Outlier Factor) из раздела Nearest Neighbors.
|
||||
## Описание
|
||||
|
||||
## Как запустить
|
||||
- python -m venv venv
|
||||
- venv\Scripts\activate
|
||||
- pip install -r requirements.txt
|
||||
- jupyter lab
|
||||
В данной лабораторной работе используется библиотека **scikit-learn** для решения двух задач:
|
||||
|
||||
1. Базовый пример классификации с помощью `MLPClassifier` на датасете **Iris**.
|
||||
2. Обнаружение выбросов с помощью метода **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-learn`
|
||||
- `numpy`
|
||||
- `pandas`
|
||||
- `matplotlib`
|
||||
- `openml`
|
||||
|
||||
## Структура проекта
|
||||
|
||||
- `week4_scikit_learn.ipynb` — основной Jupyter Notebook с выполнением лабораторной работы.
|
||||
- `README.md` — описание проекта.
|
||||
|
||||
## Запуск
|
||||
|
||||
1. Установить необходимые библиотеки:
|
||||
```bash
|
||||
pip install scikit-learn numpy pandas matplotlib openml notebook
|
||||
```
|
||||
|
||||
2. Запустить Jupyter Notebook:
|
||||
```bash
|
||||
jupyter notebook
|
||||
```
|
||||
|
||||
3. Открыть файл:
|
||||
```bash
|
||||
week4_scikit_learn.ipynb
|
||||
```
|
||||
|
||||
## Краткий вывод
|
||||
|
||||
В ходе работы были изучены базовые инструменты библиотеки **scikit-learn** для задач классификации и обнаружения выбросов.
|
||||
Было показано, что `MLPClassifier` хорошо работает на датасете Iris, а метод **LOF** позволяет находить аномальные объекты как на синтетических, так и на реальных данных.
|
||||
Loading…
Reference in New Issue
Block a user