def test_extract_minimal(graph): x = brownian() y = brownian() X = {'x': x, 'y': y} features, graph = extract(X, transformers='minimal', return_graph=True) print(list(features.columns)) print(graph.optimized.outputs) assert features.shape == (x.shape[0], len(minimal['series-to-attribute']) * 2 * 2) np.testing.assert_almost_equal( features.loc[:, 'Mean(Input(x)){0}'], Mean().transform(x).values[:, 0, 0] )
def test_extract_custom(graph): x = brownian() y = brownian() X = {'x': x, 'y': y} transformers = [Mean(), Variance()] features, graph = extract(X, transformers=transformers, return_graph=True) print(list(features.columns)) print(graph.optimized.outputs) assert features.shape == (x.shape[0], len(transformers) * 2 * 2) np.testing.assert_almost_equal( features.loc[:, 'Mean(Input(x)){0}'], Mean().transform(x).values[:, 0, 0] )
def test_transform(graph): x = brownian() y = brownian() result = graph.transform({'x': x, 'y': y}, return_dataframe=False) assert len(result) == 3 np.testing.assert_almost_equal( result[graph.outputs[0]].values, Mean().transform(x).values ) np.testing.assert_almost_equal( result[graph.outputs[1]].values, PowerSpectralDensity().transform(y).values ) np.testing.assert_almost_equal( result[graph.outputs[2]].values, Variance().transform(Add().transform(x, y)).values )
def test_transform_to_dataframe(graph): x = brownian() y = brownian() result = graph.transform({'x': x, 'y': y}, return_dataframe=True) print(graph.outputs) assert result.shape == (10, 4)
def x(): return brownian()
def y(): return brownian()