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