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