-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix some bugs #1174
Fix some bugs #1174
Conversation
Hello @kasyanovse! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found: Comment last updated at 2023-09-28 14:14:44 UTC |
Hello @kasyanovse! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found: Comment last updated at 2023-09-28 14:14:46 UTC |
Codecov Report
@@ Coverage Diff @@
## master #1174 +/- ##
==========================================
- Coverage 79.70% 79.35% -0.36%
==========================================
Files 141 141
Lines 9851 9784 -67
==========================================
- Hits 7852 7764 -88
- Misses 1999 2020 +21
|
window_size = len(time_series) - forecast_length - 10 | ||
self.params.update(window_size=window_size) | ||
self.log.info(f"{prefix} from {previous_size} to {self.window_size}.") | ||
if self.window_size + forecast_length > len(time_series): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Что предполагается делать в случае, когда длина окна больше допустимой для конкретного ряда?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Кидать ошибку. Это некорректный случай.
Идея в том, чтобы убрать скрытое поведение. Если тюнер или композер хотят поставить некорректное значение окна, то пусть они узнают об этом.
...t/core/operations/evaluation/operation_implementations/data_operations/ts_transformations.py
Show resolved
Hide resolved
...t/core/operations/evaluation/operation_implementations/data_operations/ts_transformations.py
Show resolved
Hide resolved
...t/core/operations/evaluation/operation_implementations/data_operations/ts_transformations.py
Show resolved
Hide resolved
fedot/core/pipelines/prediction_intervals/solvers/mutation_of_best_pipeline.py
Outdated
Show resolved
Hide resolved
forecast_length = input_data.task.task_params.forecast_length | ||
data_length = input_data.features.shape[0] | ||
for node in pipeline_for_forecast.nodes: | ||
if node.name == 'lagged': |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Мне кажется, что это должно учитываться где-то внутри. Случайный пользователь не додумается до такого
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Так это и есть внутри. Разве нет?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Сейчас получается так, что, если у lagged преобразования длина окна слишком большая для конкретного ряда, то вываливается ошибка, которая нигде не обрабатывается. Это код только для замены пропусков, длина окна будет подбираться только для этой задачи, а в общем случае будет ошибка. То есть придется в любой код, в котором мы не хотим, чтобы вываливалась ошибка, писать подобные условия
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Все правильно, разве нет?
Если длина окна задана некорректно, то мы получаем ошибку. Это как с пайплайном. Сейчас некорректные начальные пайплайны вываливают ошибку, а не сами как-то корректируются.
simple_pipeline = get_simple_ts_pipeline(window_size=2) | ||
|
||
max_window = int(time_series.features.shape[0] / (folds + 1)) - (forecast_len * validation_blocks) - 1 | ||
ppl_ss = PipelineSearchSpace({'lagged': {'window_size': {'hyperopt-dist': hp.uniformint, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Есть ли смысл явно ограничивать пространство?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Да. Там очень небольшое количество тестовых данных, тюнер легко вылетает в область недопустимых окон и все падает, так как lagged выкидывает ошибку о недопустимости размера окна.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А как сейчас эта ошибка вообще обрабатывается?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Тюнером?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Например. Или композером
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
С композером проблем нет потому, что оценка пайплайна обернута в try-except
, пайплайн с некорректным окном получается некорректным. Тюнер вылетает. Теперь вот не знаю, откатить это изменение или скорректировать тюнер.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А можно ли тюнер обернуть в try except? (в качестве временного фикса)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Починю тюнер тогда.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Тюнер в починке не нуждается. Он корректно отрабатывает ошибки.
simple_pipeline = get_simple_ts_pipeline(window_size=2) | ||
|
||
max_window = int(time_series.features.shape[0] / (folds + 1)) - (forecast_len * validation_blocks) - 1 | ||
ppl_ss = PipelineSearchSpace({'lagged': {'window_size': {'hyperopt-dist': hp.uniformint, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А как сейчас эта ошибка вообще обрабатывается?
Test does not pass until aimclub/GOLEM#202 is not in release.
determine_n_jobs
and add test for it GOLEM#202)verbose=0
for boosting modelswindow_size
is incorrect inLaggedImplementation
.non-default
tag for CGRU andransac_non_lin_reg
due to high evaluation time.non-default
tag forCutImplementation
due to specific type of operation.non-default
tag forExtraTreesRegressor
andgbr
due to more effective alternatives.