def test_step_cloner_should_transform(): tape = TapeCallbackFunction() p = StepClonerForEachDataInput( Pipeline([FitCallbackStep(tape), MultiplyByN(2)])) data_inputs = _create_data((2, 2)) processed_outputs = p.transform(data_inputs) assert isinstance(p.steps[0], Pipeline) assert isinstance(p.steps[1], Pipeline) assert np.array_equal(processed_outputs, data_inputs * 2)
def fit(self, data_inputs, expected_outputs=None) -> 'BaseCrossValidationWrapper': assert self.wrapped is not None train_data_inputs, train_expected_outputs, validation_data_inputs, validation_expected_outputs = self.split( data_inputs, expected_outputs) step = StepClonerForEachDataInput(self.wrapped) step = step.fit(train_data_inputs, train_expected_outputs) results = step.transform(validation_data_inputs) self.scores = [self.scoring_function(a, b) for a, b in zip(results, validation_expected_outputs)] self.scores_mean = np.mean(self.scores) self.scores_std = np.std(self.scores) return self