Closed MAGLeb closed 2 years ago
Да, есть такое. В качестве воркэраунда можно задавать scaling -> xgboost, все равно на практике в одной модели смысла мало.
В качестве воркэраунда можно задавать scaling -> xgboost, все равно на практике в одной модели смысла мало.
С одной стороны такое себе "экспертное начальное приближение" из одной модели, а с другой: может такие цепочки искуственно расширять при попадании в композер: например "xgboost" превращать в "scaling -> xgboost" при вызове метода compose_chain, или уже на этапе инициализации билдера? Или ты это и имел в виду?
Потом просто доработает мутацию.
@nicl-nno не смог воспроизвести баг в новой версии FEDOT. Выполнял следующий код:
initial_pipeline = PrimaryNode('xgboost')
# initial_pipeline = Pipeline(PrimaryNode('xgboost'))
builder = GPComposerBuilder(task=task).with_requirements(composer_requirements)\
.with_metrics(metric_function)\
.with_optimiser_parameters(optimiser_parameters)\
.with_initial_pipeline(initial_pipeline)
Также @Dreamlone было предложено добавить в with_initial_pipeline()
исключение, когда в функцию попадают объекты с типом не Pipeline
, и выводить raise Exception(ValueError('...'))
.
не смог воспроизвести баг в новой версии FEDOT Если кроссовер тоже не падает, то всё норм.
когда в функцию попадают объекты с типом не Pipeline
Да, можно. Только достаточно просто raise ValueError, он и так унаследован от Exception.
If build composer with initial chain contains only ONE node.