neural-networks/README.md

135 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\# Учебная практика № 2.4
\# Ознакомиться с базовыми принципами построения и обучения искусственных нейронных сетей на Python. Представить библиотеку scikit-learn и её возможности для построения MLP-классификаторов. Научиться применять модели на встроенных и внешних датасетах. Укрепить навыки работы в JupyterLab и визуализации результатов обучения.
\# Искусственные нейронные сети: первые шаги
Репозиторий содержит материалы по лабораторной работе, посвящённой базовым искусственным нейронным сетям и классификации в библиотеке scikit-learn.
\## Цель работы
\- Ознакомиться с базовыми принципами построения и обучения искусственных нейронных сетей на Python.
\- Изучить использование `MLPClassifier` из библиотеки scikit-learn.
\- Научиться применять модели машинного обучения на встроенных и внешних датасетах.
\- Закрепить навыки работы в JupyterLab, Git и визуализации результатов.
\## Содержимое репозитория
\- `week4\_scikit\_learn.ipynb` — основной ноутбук с выполнением лабораторной работы.
\- `requirements.txt` — список установленных зависимостей проекта.
\- `.gitignore` — список файлов и папок, исключённых из Git.
\- `README.md` — описание проекта.
\## Выполненные задания
\### 1. Базовая нейросеть
В ноутбуке реализован пример многослойного перцептрона (`MLPClassifier`) на встроенном датасете Iris.
Рассмотрены параметры:
\- `hidden\_layer\_sizes=(10,)`
\- `activation='relu'`
\- `max\_iter=100`, `500`, `2500`
Проведён анализ влияния количества итераций на сходимость модели и качество классификации.
\### 2. Самостоятельное задание
Для самостоятельной части выбран пример из раздела \*\*Classification\*\* официальной документации scikit-learn:
\*\*Plot classification probability\*\*
В работе выполнено:
\- воспроизведение и адаптация примера;
\- сравнение нескольких классификаторов:
  - `LogisticRegression`
  - `Linear SVC`
  - `GaussianProcessClassifier`
\- визуализация вероятностей принадлежности объектов к классам.
\### 3. Работа с внешним датасетом
Дополнительно выполнена классификация на внешнем датасете, загруженном через `openml`.
Использованы этапы:
\- загрузка данных;
\- выбор числовых признаков;
\- удаление пропусков;
\- масштабирование данных;
\- обучение модели `LogisticRegression`;
\- оценка качества с помощью `classification\_report`.
\## Используемые библиотеки
\- scikit-learn
\- matplotlib
\- pandas
\- openml
\- jupyterlab