Skip to content
New issue

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

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

Already on GitHub? # to your account

Fix getting suitable operations for multi ts #981

Merged
merged 4 commits into from
Nov 25, 2022

Conversation

YamLyubov
Copy link
Collaborator

@YamLyubov YamLyubov commented Nov 11, 2022

Previously data_type was not used while getting suitable operations during model composition. That was causing problems described here
Changes:

  • available_operations are defined during fit strage to take input_data.data_type into account
  • new method ApiParams.update_available_operations_by_preset were created
  • filterring operations by data_type in OperationTypesRepository.suitable_operations was fixed to not filter out to many operations

@nicl-nno nicl-nno requested a review from ChrisLisbon November 11, 2022 17:21
Copy link
Collaborator

@ChrisLisbon ChrisLisbon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

У нас есть два примера с multi_ts (один, второй).

Второй использует API и там указан список совместимых операций, я так понимаю цель этого pr'а, чтобы автоматически подхватывать допустимые операции для каждого типа данных, но если я убираю вручную заданный список операций стабильно выпадает такое оповещение

`Generations: 5%|▌ | 1/20 [00:00<?, ?gen/s]2022-11-14 12:50:11,674 - ApiComposer - Initial pipeline was fitted in 0.5 sec.

2022-11-14 12:50:11,678 - ApiComposer - AutoML configured. Parameters tuning: True Time limit: 2 min Set of candidate models: ['adareg', 'dtreg', 'gbr', 'lasso', 'lgbmreg', 'linear', 'rfr', 'ridge', 'sgdr', 'svr', 'treg', 'lagged', 'sparse_lagged', 'smoothing', 'gaussian_filter', 'diff_filter', 'cut', 'exog_ts']

2022-11-14 12:50:11,679 - ApiComposer - Pipeline composition started.

Metric evaluation error: If using all scalar values, you must pass an index

Metric evaluation error: If using all scalar values, you must pass an index

Metric evaluation error: If using all scalar values, you must pass an index

Metric evaluation error: If using all scalar values, you must pass an index

Generations: 5%|▌ | 1/20 [02:50<?, ?gen/s]`

Не уверена, что это нормально, но если да может есть идеи из-за какой операции такое происходит?

@YamLyubov YamLyubov force-pushed the fix-operations-for-multi-ts branch from 3e77e87 to 9e6b37c Compare November 24, 2022 11:42
@YamLyubov
Copy link
Collaborator Author

Ошибки возникали, потому что .transform для sparse-lagged не работал для multi-ts. Я его адаптировала, но не уверена, что корретктно

@ChrisLisbon
Copy link
Collaborator

Ошибки возникали, потому что .transform для sparse-lagged не работал для multi-ts. Я его адаптировала, но не уверена, что корретктно

А можешь описать в чем конкретно была проблема?
Прогнала дебагером, вроде предыдущую логику такой фикс не нарушает, но все равно можно еще попросить добавить тест к sparse-lagged с multi_ts по аналогии с вот этим тестом

@YamLyubov
Copy link
Collaborator Author

А можешь описать в чем конкретно была проблема? Прогнала дебагером, вроде предыдущую логику такой фикс не нарушает, но все равно можно еще попросить добавить тест к sparse-lagged с multi_ts по аналогии с вот этим тестом

Для преобразования данных на этапе fit (.transform_for_fit, основная логика которого вынесена в метод _apply_transformation_for_fit) все работало как надо. В случае многомерного ряда, каждый ряд обрабатывался в цикле и для обычного и для sparse lagged.

Для на этапе predict (_apply_transformation_for_predict) в случае sparse метод вне зависимости от размерности пытался обработать ряд одинаково, и падал, если ряд был многомерным. Чтобы это исправить, я засунула обработку ряда для sparse в цикл, где каждый ряд последовательно обрабатывается)

@YamLyubov YamLyubov linked an issue Nov 25, 2022 that may be closed by this pull request
@YamLyubov YamLyubov force-pushed the fix-operations-for-multi-ts branch from 9e6b37c to 65b5568 Compare November 25, 2022 13:59
@YamLyubov YamLyubov merged commit 7fa7b4a into master Nov 25, 2022
@YamLyubov YamLyubov deleted the fix-operations-for-multi-ts branch November 25, 2022 14:13
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Incorrect selection of suitable operations for multi_ts data type
2 participants