scikit_learn_lab/README.md

107 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\# Сравнение 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