Add model selection: GridSearchCV vs HalvingGridSearchCV with 5 plots
This commit is contained in:
parent
d58c14e105
commit
6801b3408c
107
README.md
107
README.md
@ -1 +1,106 @@
|
||||
|
||||
\# Сравнение 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
|
||||
|
||||
|
||||
409
week4_scikit_learn.ipynb
Normal file
409
week4_scikit_learn.ipynb
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user