Fix enequal indices problem
In some cases, the "test_multi_target_regression_composing_correct " test randomly fails with
________________ test_multi_target_regression_composing_correct ________________
multi_target_data_setup = (InputData(idx=['45', '40', '22', '22', '29', '35', '38', '43', '45', '47', '26', '20', '15', '20', '20', '23', '26', ...37. , 737. , 729. , 723. , 685.875], [729. , 737. , 737. , 729. , 723. , 685.875, 648.75 ]])))
def test_multi_target_regression_composing_correct(multi_target_data_setup):
# Load simple dataset for multi-target
train, test = multi_target_data_setup
Generations: 1%| | 1/100 [00:06<?, ?gen/s]
problem = 'regression'
simple_composer_params = get_simple_composer_params()
automl_model = Fedot(problem=problem, composer_params=simple_composer_params)
automl_model.fit(train)
test/unit/tasks/test_regression.py:114:
fedot/api/main.py:153: in fit self._train_pipeline_on_full_dataset(recommendations, full_train_not_preprocessed) fedot/api/main.py:386: in _train_pipeline_on_full_dataset self.current_pipeline.fit(full_train_not_preprocessed) fedot/core/pipelines/pipeline.py:164: in fit use_fitted_operations=use_fitted) fedot/core/pipelines/pipeline.py:123: in _fit train_predicted = self.root_node.fit(input_data=input_data) fedot/core/pipelines/node.py:323: in fit secondary_input = self._input_from_parents(input_data=input_data, parent_operation='fit') fedot/core/pipelines/node.py:353: in _input_from_parents secondary_input = InputData.from_predictions(outputs=parent_results) fedot/core/data/data.py:255: in from_predictions idx, features, target, task, d_type, updated_info = DataMerger(outputs).merge() fedot/core/data/merge.py:63: in merge idx, features, target, is_main_target, task = merge_func() fedot/core/data/merge.py:89: in combine_datasets_table idx_list) fedot/core/data/merge.py:196: in _merge_non_equal_outputs features = np.hstack(features) <array_function internals>:6: in hstack ??? /opt/hostedtoolcache/Python/3.7.12/x64/lib/python3.7/site-packages/numpy/core/shape_base.py:346: in hstack return _nx.concatenate(arrs, 1)
args = ([array([[20.0, -9.6, 9.125, 8.5, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [20.0, -5.6, 10.46875, 12.0, 0.0, 0.0, 1.0, 0.... , 7.6 , 54.125 , 4.5 , 0. , 1. , 0. , 0. , 0. , 0. ]])], 1) kwargs = {} relevant_args = [array([[20.0, -9.6, 9.125, 8.5, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [20.0, -5.6, 10.46875, 12.0, 0.0, 0.0, 1.0, 0.0... 6. , 7.6 , 54.125 , 4.5 , 0. , 1. , 0. , 0. , 0. , 0. ]])]
??? E ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 0, the array at index 0 has size 42 and the array at index 1 has size 72
<array_function internals>:6: ValueError