\# Учебная практика № 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