scikit_learn_lab/README.md

3.5 KiB
Raw Blame History

# Сравнение 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. Клонировать репозиторий:


git clone https://git.vyatsu.ru/stud203996/scikit\_learn\_lab.git

cd scikit\_learn\_lab