aimclub / FEDOT

Automated modeling and machine learning framework FEDOT
https://fedot.readthedocs.io
BSD 3-Clause "New" or "Revised" License
643 stars 88 forks source link

Technical debt and refactoring #37

Closed J3FALL closed 1 year ago

J3FALL commented 4 years ago

Доработки и рефакторинг после показа:

  1. ~Отрицательные значения метрик (см. ROC AUC): добавить property для метрик, которые передаются алгоритму оптимизации.~
  2. ~Хранение reference_data в chain - тут нужно подумать.~
  3. ~Обработка Nan-ов в EvaluationStrategy~.
  4. ~Дублирование кода в models. Возможно, добавить прослойку для SKLearn/ML Model~.
  5. TBA
nicl-nno commented 4 years ago
  1. ~Необходимость явного deepcopy для моделей и нод, чтобы обеспечить актуальность кэша~
  2. ~Неочевидные флаги обучения и кэширования в нодах и стратегиях.~
J3FALL commented 4 years ago
  1. ~Добавить возможность доращивания цепочки из initial_chain для композера.~
  2. ~Сделать logging-конфиг и логирование операций.~
nicl-nno commented 4 years ago
  1. Рефакторинг CRUD-операций над цепочками
nicl-nno commented 4 years ago
  1. Обсудить использованием enum-ов в repository, composer и т. д и перейти на более pythonic-решения.
nicl-nno commented 4 years ago

~12. Переделать выбор стратегии в model/_eval_strategy_for_task~

nicl-nno commented 4 years ago
  1. Убрать дублирования из credit scoring-скриптов
J3FALL commented 4 years ago

~14. Get rid of NodeGenerator in core.~

nicl-nno commented 4 years ago
  1. Преобразовать гиперпараметры в JSON

"Все-таки, привычнее видеть такие около hardcode-штуки во внешних конфигах. Возможно, какой-нибудь продвинутный json-парсер для питона позволит там вынести эти параметры из скрипта, а также решит полностью или частично проблемы с его валидацией."

J3FALL commented 3 years ago
  1. Улучшить тесты на тюнинг. "Кажется, я однажды уже озвучивал идею про тестирование тюнеров - делать заведомо плохие цепочки для конкретного датасета. Например, можно для тестовой цепочки установить некоторые совсем нереалистичные значения. Однако, все равно не гарантируется, что точно найдется за заданное время работы теста решение > исходного. Над этим можно подумать на досуге - как грамотнее тестировать тюнеры."
nicl-nno commented 3 years ago

17.

Refactor model test in https://github.com/nccr-itmo/FEDOT/blob/master/test/models/test_model.py

It should be runned for each model in repository, not just manually added in the test.

J3FALL commented 3 years ago
  1. Suggest the more "native" tags for AtomizedModel in ModelTypesRepository
nicl-nno commented 1 year ago

I think it can be closed as obsolete.