107 lines
3.5 KiB
Markdown
107 lines
3.5 KiB
Markdown
\# Сравнение GridSearchCV и HalvingGridSearchCV для подбора гиперпараметров SVM
|
||
|
||
|
||
|
||
\## Описание проекта
|
||
|
||
В рамках задания по теме «Искусственные нейронные сети: первые шаги» выполнено сравнение двух методов подбора гиперпараметров для классификатора SVM:
|
||
|
||
\- \*\*GridSearchCV\*\* – полный перебор всех комбинаций гиперпараметров.
|
||
|
||
\- \*\*HalvingGridSearchCV\*\* – итеративный отсев неперспективных комбинаций (Successive Halving).
|
||
|
||
|
||
|
||
\## Используемые алгоритмы и данные
|
||
|
||
|
||
|
||
\### Алгоритмы
|
||
|
||
\- `SVC` – метод опорных векторов из библиотеки scikit-learn.
|
||
|
||
\- `GridSearchCV` – полный перебор с кросс-валидацией.
|
||
|
||
\- `HalvingGridSearchCV` – итеративный подбор гиперпараметров.
|
||
|
||
|
||
|
||
\### Данные
|
||
|
||
1\. \*\*Синтетические\*\* – сгенерированы через `make\_classification` (1000 образцов, 20 признаков).
|
||
|
||
2\. \*\*Реальные\*\* – встроенный датасет Wine (178 образцов, 13 признаков, 3 класса).
|
||
|
||
|
||
|
||
\## Результаты работы
|
||
|
||
|
||
|
||
\### Синтетические данные
|
||
|
||
\- \*\*HalvingGridSearchCV\*\* выполнился за \~1.2 секунды.
|
||
|
||
\- \*\*GridSearchCV\*\* выполнился за \~4.8 секунды.
|
||
|
||
\- Ускорение: \~4 раза.
|
||
|
||
|
||
|
||
\### Реальные данные (Wine)
|
||
|
||
\- \*\*HalvingGridSearchCV\*\* выполнился за \~0.8 секунды.
|
||
|
||
\- \*\*GridSearchCV\*\* выполнился за \~0.25 секунды.
|
||
|
||
\- На малом датасете GridSearchCV может быть быстрее, но Halving показывает сопоставимое качество за меньшее количество итераций.
|
||
|
||
|
||
|
||
\### Ключевые выводы
|
||
|
||
\- HalvingGridSearchCV значительно ускоряет подбор параметров на больших сетках.
|
||
|
||
\- При малом объёме данных преимущество может быть не таким заметным.
|
||
|
||
\- Тепловые карты позволяют наглядно сравнить области оптимальных параметров.
|
||
|
||
|
||
|
||
\## Графики и визуализация
|
||
|
||
В ноутбуке `week4\_model\_selection.ipynb` построены:
|
||
|
||
\- Тепловые карты для синтетических данных (Halving и GridSearch)
|
||
|
||
\- Тепловые карты для датасета Wine (Halving и GridSearch)
|
||
|
||
\- Столбчатая диаграмма сравнения времени выполнения
|
||
|
||
|
||
|
||
\## Файлы в репозитории
|
||
|
||
\- `week4\_model\_selection.ipynb` – основной Jupyter Notebook с кодом и анализом.
|
||
|
||
\- `requirements.txt` – список зависимостей для воспроизведения окружения.
|
||
|
||
\- `.gitignore` – исключённые файлы (виртуальное окружение, кеши).
|
||
|
||
\- `README.md` – описание проекта.
|
||
|
||
|
||
|
||
\## Запуск проекта
|
||
|
||
|
||
|
||
1\. Клонировать репозиторий:
|
||
|
||
```bash
|
||
|
||
git clone https://git.vyatsu.ru/stud203996/scikit\_learn\_lab.git
|
||
|
||
cd scikit\_learn\_lab
|
||
|