diff --git a/README.md b/README.md index 1e5de34..ed8804c 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,133 @@ \# Ознакомиться с базовыми принципами построения и обучения искусственных нейронных сетей на 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 + + +