Example #1
0
def test_column_transformer_fit_should_support_multiple_tuples():
    # Given
    test_case = ColumnChooserTestCase(
        data_inputs=np.array([[1, 1, 2, 3], [10, 11, 12, 13], [20, 21, 22,
                                                               23]]),
        expected_outputs=np.array([[0, 1, 2, 3], [10, 11, 12, 13],
                                   [20, 21, 22, 23]]),
        expected_processed_outputs=np.array([[2, 2, 2, 3], [20, 22, 12, 13],
                                             [40, 42, 44, 46]]),
        column_transformer_tuple_list=[(slice(0, 2), MultiplyBy2()),
                                       (2, MultiplyBy2())],
        n_dimension=3)
    data_inputs = test_case.data_inputs
    column_transformer = ColumnTransformer(
        test_case.column_transformer_tuple_list)

    # When
    column_transformer = column_transformer.fit(data_inputs,
                                                test_case.expected_outputs)

    # Then
    actual_fitted_data = column_transformer['2_MultiplyBy2'][
        'MultiplyBy2'].fitted_data
    expected_fitted_data = [([[2], [12], [22]], [[0, 1, 2, 3],
                                                 [10, 11, 12, 13],
                                                 [20, 21, 22, 23]])]
    assert_data_fitted_properly(actual_fitted_data, expected_fitted_data)

    actual_fitted_data = column_transformer['slice(0, 2, None)_MultiplyBy2'][
        'MultiplyBy2'].fitted_data
    expected_fitted_data = [([[1, 1], [10, 11], [20, 21]], [[0, 1, 2, 3],
                                                            [10, 11, 12, 13],
                                                            [20, 21, 22, 23]])]
    assert_data_fitted_properly(actual_fitted_data, expected_fitted_data)
Example #2
0
def test_column_transformer_fit_should_support_indexes(test_case: ColumnChooserTestCase):
    data_inputs = test_case.data_inputs
    p = ColumnTransformer(test_case.column_transformer_tuple_list, test_case.n_dimension)

    p = p.fit(data_inputs, test_case.expected_outputs)

    actual_fitted_data = p[test_case.expected_step_key]['MultiplyBy2'].fitted_data
    expected_fitted_data = test_case.expected_fitted_data
    assert_data_fitted_properly(actual_fitted_data, expected_fitted_data)