aimclub / FEDOT

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

Aggregated operations #1217

Open kasyanovse opened 10 months ago

kasyanovse commented 10 months ago

There are some groups of models:

  1. Linear (Lasso, Linear, Ridge, Elastic)
  2. Boostings (XGBoost, CatBoost, LGBM, Sklearn boosting)
  3. Forests (Random, ExtraTrees)
  4. and so on

Each group can be implemented as a single operation during the composition stage. At the tuning stage, any model from the group can be selected.

valer1435 commented 10 months ago

Концептуально звучит интересно, но какие преимущества видишь у такого подхода по сравнению с текущим подходом? Я вижу проблему в том, что тут получается, что в одной группе есть сильные и слабые модели (катбуст >> бустинга из склерна, например). Сейчас по-идее мы стремимся использовать просто одну сота модель из семейства, чтобы дополнительно не усложнять пространство поиска. К тому же мне сейчас кажется, что затраты на реализацию подхода >> профита

kasyanovse commented 10 months ago

какие преимущества видишь у такого подхода по сравнению с текущим подходом

Сокращение пространства поиска.

просто одну сота модель из семейства

Как будто бы это не оптимально. Логичнее было бы на композиции использовать самую быструю модель, а на тюнинге уже попробовать подобрать модель поточнее.

затраты на реализацию подхода

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

nicl-nno commented 10 months ago

С помощью костылей это можно сделать быстро

Если по итогам испытаний "костыльной" реализации будет видно что такой подход (выбирать не конкретные модели а их тип) дает преимущество - то можно будет и реализовать полноценно.

Сходу имею сомнения - ожидал бы что результат будет очень чувствителен к конкретному типу модели. Как вариант, можно только первые N поколений так делать.

valer1435 commented 10 months ago

Тут согласен - если есть понимание того, как сделать быстрый proof-of-concept и проверить подход на pytsbe или на своем бенчмарке - то можно попробовать