aimclub / GOLEM

Graph Optimiser for Learning and Evolution of Models
https://thegolem.readthedocs.io
BSD 3-Clause "New" or "Revised" License
60 stars 7 forks source link

Universal ExperimentAnalyzer #181

Closed maypink closed 1 year ago

maypink commented 1 year ago

Universal ExperimentAnalyzer All main features are described below

aim-pep8-bot commented 1 year ago

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! :beers:

Comment last updated at 2023-09-12 08:04:13 UTC
codecov-commenter commented 1 year ago

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%) :arrow_up:

... and 6 files with indirect coverage changes

nicl-nno commented 1 year ago

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

maypink commented 1 year ago

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

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

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

maypink commented 1 year ago

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

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

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

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

maypink commented 1 year ago

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

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

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

maypink commented 1 year ago

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

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

nicl-nno commented 1 year ago

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

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

nicl-nno commented 1 year ago

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

maypink commented 1 year ago

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

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

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

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

nicl-nno commented 1 year ago

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

nicl-nno commented 1 year ago

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

maypink commented 1 year ago

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

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