practice04/README.md

4.0 KiB
Raw Permalink Blame History

Лабораторная работа 4: scikit-learn

Описание

В данной лабораторной работе используется библиотека 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. Установить необходимые библиотеки:

    pip install scikit-learn numpy pandas matplotlib openml notebook
    
  2. Запустить Jupyter Notebook:

    jupyter notebook
    
  3. Открыть файл:

    week4_scikit_learn.ipynb
    

Краткий вывод

В ходе работы были изучены базовые инструменты библиотеки scikit-learn для задач классификации и обнаружения выбросов.
Было показано, что MLPClassifier хорошо работает на датасете Iris, а метод LOF позволяет находить аномальные объекты как на синтетических, так и на реальных данных.