Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Universal ExperimentAnalyzer #181

Merged
merged 22 commits into from
Sep 12, 2023
Merged

Conversation

maypink
Copy link
Collaborator

@maypink maypink commented Aug 30, 2023

Universal ExperimentAnalyzer
All main features are described below

@maypink maypink linked an issue Aug 30, 2023 that may be closed by this pull request
@aim-pep8-bot
Copy link
Collaborator

aim-pep8-bot commented Aug 30, 2023

Hello @maypink! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

There are currently no PEP 8 issues detected in this Pull Request. Cheers! 🍻

Comment last updated at 2023-09-12 08:04:13 UTC

@codecov-commenter
Copy link

codecov-commenter commented Aug 30, 2023

Codecov Report

Merging #181 (6382a19) into main (147df93) will increase coverage by 0.00%.
Report is 5 commits behind head on main.
The diff coverage is 50.00%.

@@           Coverage Diff           @@
##             main     #181   +/-   ##
=======================================
  Coverage   74.10%   74.11%           
=======================================
  Files         129      129           
  Lines        7678     7688   +10     
=======================================
+ Hits         5690     5698    +8     
- Misses       1988     1990    +2     
Files Changed Coverage Δ
golem/core/dag/graph.py 77.01% <ø> (ø)
golem/visualisation/opt_history/fitness_line.py 35.15% <0.00%> (ø)
golem/visualisation/graph_viz.py 63.15% <100.00%> (+0.12%) ⬆️

... and 6 files with indirect coverage changes

@nicl-nno
Copy link
Collaborator

Было бы здорово интегрировать возможность расчета стат. тестов для сравнения N историй оптимизации по разным критериям.

@maypink
Copy link
Collaborator Author

maypink commented Sep 1, 2023

Тестирование статистической значимости

сейчас, мне кажется, это дело будет удобно использовать, когда у нас есть две выборки на сравнение и несколько тестов, на которые хочется проверить. в таком случае результат будет в следующем формате: два файла (или сколько угодно, в зависимости от заданного формата. но по классике один для pvalue, второй для statistic значений), каждый в таком формате
image

для сравнения большего количества выборок тоже можно использовать, все зависит от указанного теста. но энивэй методы analyze_metrics и analyze_convergence буквально вкладывают все необходимые данные в руки, в частной ситуации и самому будет просто написать какие угодно тесты

@maypink
Copy link
Collaborator Author

maypink commented Sep 1, 2023

Структурная сложность

Структура сохранения следующая:

setup
         \
           dataset
                        \
                          здесь картинки

Удобно на это смотреть так, чтобы как минимум на глаз прикинуть стали ли решения принципиально другими
image

@maypink
Copy link
Collaborator Author

maypink commented Sep 1, 2023

Сохранение таблиц с метриками

С помощью analyze_convergence и analyze_metrics можно сгенерировать таблицы с метриками.
Либо записать туда все значения, либо средние (если поставить is_mean в True).
Оба метода возвращают словари со всеми собранными значениями в указанном формате, так что дальше их можно передавать на статистическое тестирование

Формат таблиц такой:
image

@maypink
Copy link
Collaborator Author

maypink commented Sep 1, 2023

График сходимости

С помощью plot_convergence можно рисовать графики сходимости с confidence interval и без
cnae-9_convergence
cnae-9_convergence_without_confidence

@maypink maypink marked this pull request as ready for review September 1, 2023 10:02
@maypink maypink added architecture (re)design of existing or new framework subsystem enhancement New feature or request and removed architecture (re)design of existing or new framework subsystem labels Sep 1, 2023
@maypink maypink requested a review from nicl-nno September 1, 2023 10:04
@nicl-nno
Copy link
Collaborator

nicl-nno commented Sep 1, 2023

Хорошо бы приложить скрипт с примером запуска. Можно пару тестовых историй для сравнения.

На картинках можно ещё приписать числом лучший фитнес. И указать в шапке, что это best in population.

@nicl-nno
Copy link
Collaborator

nicl-nno commented Sep 1, 2023

В идеале бы иметь возможность рисовать такие же графики не по фитнесу, а по отложенной выборке - но кажется это к GOLEM-у не особо применимо. Мб возможность кастомную метрику выводить.

@maypink
Copy link
Collaborator Author

maypink commented Sep 4, 2023

Хорошо бы приложить скрипт с примером запуска. Можно пару тестовых историй для сравнения.

На картинках можно ещё приписать числом лучший фитнес. И указать в шапке, что это best in population.

пример добавила. пробросила заголовок, там еще пр в федоте для этого
image.

можно указать несколько метрик, будет так
1_result

@maypink maypink requested a review from YamLyubov September 5, 2023 14:39
experiments/experiment_analyzer.py Outdated Show resolved Hide resolved
examples/experiment_analyzer/experiment_analyzer.py Outdated Show resolved Hide resolved
examples/experiment_analyzer/experiment_analyzer.py Outdated Show resolved Hide resolved
experiments/experiment_analyzer.py Outdated Show resolved Hide resolved
experiments/experiment_analyzer.py Outdated Show resolved Hide resolved
experiments/experiment_analyzer.py Show resolved Hide resolved
experiments/experiment_analyzer.py Outdated Show resolved Hide resolved
experiments/experiment_analyzer.py Outdated Show resolved Hide resolved
experiments/experiment_analyzer.py Outdated Show resolved Hide resolved
@nicl-nno
Copy link
Collaborator

nicl-nno commented Sep 6, 2023

Можно ещё реализовать опциальное закидывания историй в FEDOT.Web и вывод ссылки на визуализацию в конец лога.

@nicl-nno
Copy link
Collaborator

nicl-nno commented Sep 6, 2023

Ещё можно пример данных в zip или tar.gz закатать и распаковывать уже на месте.

@maypink
Copy link
Collaborator Author

maypink commented Sep 7, 2023

Ещё можно пример данных в zip или tar.gz закатать и распаковывать уже на месте.

заархивировала и данные, и результаты. а с добавлением в FEDOT Web предлагаю разобраться на следующей итерации -- хочется уже влить и попользоваться

@maypink maypink requested a review from YamLyubov September 11, 2023 14:22
@maypink maypink merged commit 9f65481 into main Sep 12, 2023
@maypink maypink deleted the 180-universal-experiment-analyzer branch September 12, 2023 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Universal Experiment Analyzer
5 participants