Skip to content

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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

3 participants