Этот проект позволяет автоматизировать обработку данных экспериментов с гиперпараметрами, анализировать их результаты и визуализировать зависимости. Он включает скрипты для добавления данных, построения графиков и анализа корреляций.
-
add_90_95_accuracy.py- Добавляет в основной файл результатов (
results/hyperparameter_results.csv) столбцы:epoch_90_accuracy: номер эпохи, на которой достигнута точность >= 90%.epoch_95_accuracy: номер эпохи, на которой достигнута точность >= 95%.
- Источник данных — файлы статистики по эпохам (
results/per_run_stats/run_*.csv).
- Добавляет в основной файл результатов (
-
analysis/all_plots.py- Строит два графика:
- График точности на тестовой выборке (
val_accuracy) для всех экспериментов. - График потерь на тестовой выборке (
val_loss) для всех экспериментов.
- График точности на тестовой выборке (
- На каждом графике отображаются линии тренда 1-го, 2-го и 3-го порядка.
- Сохраняет графики в папку
plots.
- Строит два графика:
-
analysis/correlation_matrix.py- Строит матрицу корреляции между:
- Гиперпараметрами:
num_hidden_layers,neurons_per_layer,epochs,batch_size. - Ключевыми метриками:
test_accuracy,training_time_sec,epoch_90_accuracy,epoch_95_accuracy.
- Гиперпараметрами:
- Выводит корреляции в консоль, отсортированные по модулю (с сохранением знака).
- Сохраняет тепловую карту матрицы корреляции.
- Строит матрицу корреляции между:
-
results/- Хранит результаты всех экспериментов и статистику по эпохам.
hyperparameter_results.csv: основной файл результатов с гиперпараметрами и метриками.per_run_stats/run_*.csv: файлы со статистикой по эпохам для каждого эксперимента.
-
plots/batch_size_vs_accuracy.png: график зависимости точности от размера пакета.epochs_vs_accuracy.png: график зависимости точности от количества эпох.layers_vs_accuracy.png: график зависимости точности от количества слоев.'neurons_vs_accuracy.png: график зависимости точности от количества нейронов в слое.
- Склонируйте репозиторий
- Создайте и активируйте виртуальное окружение
- Установите зависимости:
pip install -r requirements.txt
- Перенесите папки
train_dir,test_dir,val_dirиз старого кода Тутыгина в папкуlab10/data.
Запустите основной скрипт перебора гиперпараметров, на ноутбуке крутится около 20 минут:
python main.pyЗапустите скрипт add_90_95_accuracy.py, чтобы добавить данные об эпохе достижении точности 90% и 95%:
python add_90_95_accuracy.pyВ файл results/hyperparameter_results.csv добавятся столбцы epoch_90_accuracy и epoch_95_accuracy.
Чтобы построить графики точности и потерь для всех экспериментов:
python analysis/all_plots.pyПосле выполнения:
- В папке
plotsпоявятся файлы:test_accuracy_plot.png: график точности.test_loss_plot.png: график потерь.
Для построения матрицы корреляции и анализа взаимосвязей между параметрами:
python analysis/correlation_matrix.pyПосле выполнения:
- В консоль будут выведены отсортированные корреляции.
- В папке
resultsпоявится файлfiltered_correlation_matrix.pngс визуализацией.