def test_transform(self): """Check if it transforms properly.""" t = Compose([Enumerate([2, "asfa", "ipsi"]), OneHotEncode(3)], "categorical") assert numpy.all(t.transform(2) == numpy.array((1.0, 0.0, 0.0))) assert numpy.all(t.transform("asfa") == numpy.array((0.0, 1.0, 0.0))) assert numpy.all(t.transform("ipsi") == numpy.array((0.0, 0.0, 1.0))) with pytest.raises(KeyError): t.transform("aafdasfa") assert numpy.all( t.transform([["ipsi", "asfa"], [2, "ipsi"]]) == numpy.array([[( 0.0, 0.0, 1.0), (0.0, 1.0, 0.0)], [(1.0, 0.0, 0.0), (0.0, 0.0, 1.0)]])) t = Compose([Enumerate([2, "asfa"]), OneHotEncode(2)], "categorical") assert t.transform(2) == 0.0 assert t.transform("asfa") == 1.0 with pytest.raises(KeyError): t.transform("ipsi") assert numpy.all( t.transform([["asfa", "asfa"], [2, "asfa"]]) == numpy.array( [[1.0, 1.0], [0.0, 1.0]])) # for the crazy enough t = Compose([Enumerate([2]), OneHotEncode(1)], "categorical") assert t.transform(2) == 0.0 with pytest.raises(KeyError): t.transform("ipsi") assert numpy.all(t.transform([[2, 2], [2, 2]]) == [[0, 0], [0, 0]])
def test_reverse(self): """Check if it reverses `transform` properly, if possible.""" t = Compose([Enumerate([2, 'asfa', 'ipsi']), OneHotEncode(3)], 'categorical') assert t.reverse((0.9, 0.8, 0.3)) == 2 assert t.reverse((-0.3, 2., 0.)) == 'asfa' assert t.reverse((0., 0., 1.)) == 'ipsi' with pytest.raises(AssertionError): t.reverse((0., 0., 0., 1.)) assert(numpy.all(t.reverse(numpy.array([[(0., 0., 1.), (0., 1., 0.)], [(1., 0., 0.), (0., 0., 1.)]])) == numpy.array([['ipsi', 'asfa'], [2, 'ipsi']], dtype=numpy.object))) t = Compose([Enumerate([2, 'asfa']), OneHotEncode(2)], 'categorical') assert t.reverse(0.3) == 2 assert t.reverse(2.) == 'asfa' assert numpy.all(t.reverse((0., 0., 0., 1.)) == numpy.array([2, 2, 2, 'asfa'], dtype=numpy.object)) assert(numpy.all(t.reverse(numpy.array([[0.55, 3.], [-0.6, 1.]])) == numpy.array([['asfa', 'asfa'], [2, 'asfa']], dtype=numpy.object))) # for the crazy enough t = Compose([Enumerate([2]), OneHotEncode(1)], 'categorical') assert t.reverse(0) == 2 assert t.reverse(5.0) == 2 assert t.reverse(0.2) == 2 assert t.reverse(-0.2) == 2 assert numpy.all(t.reverse([[0.5, 0], [1.0, 55]]) == numpy.array([[2, 2], [2, 2]], dtype=numpy.object))
def test_transform(self): """Check if it transforms properly.""" t = Compose([Enumerate([2, 'asfa', 'ipsi']), OneHotEncode(3)], 'categorical') assert numpy.all(t.transform(2) == numpy.array((1., 0., 0.))) assert numpy.all(t.transform('asfa') == numpy.array((0., 1., 0.))) assert numpy.all(t.transform('ipsi') == numpy.array((0., 0., 1.))) with pytest.raises(KeyError): t.transform('aafdasfa') assert(numpy.all(t.transform([['ipsi', 'asfa'], [2, 'ipsi']]) == numpy.array([[(0., 0., 1.), (0., 1., 0.)], [(1., 0., 0.), (0., 0., 1.)]]))) t = Compose([Enumerate([2, 'asfa']), OneHotEncode(2)], 'categorical') assert t.transform(2) == 0. assert t.transform('asfa') == 1. with pytest.raises(KeyError): t.transform('ipsi') assert(numpy.all(t.transform([['asfa', 'asfa'], [2, 'asfa']]) == numpy.array([[1., 1.], [0., 1.]]))) # for the crazy enough t = Compose([Enumerate([2]), OneHotEncode(1)], 'categorical') assert t.transform(2) == 0. with pytest.raises(KeyError): t.transform('ipsi') assert numpy.all(t.transform([[2, 2], [2, 2]]) == [[0, 0], [0, 0]])
def test_infer_target_shape(self): """Check if it infers the shape of a transformed `Dimension`.""" t = Compose([Enumerate([2, 'asfa', 'ipsi']), OneHotEncode(3)], 'categorical') assert t.infer_target_shape((2, 5)) == (2, 5, 3) t = Compose([Enumerate([2, 'asfa']), OneHotEncode(2)], 'categorical') assert t.infer_target_shape((2, 5)) == (2, 5) t = Compose([Enumerate([2]), OneHotEncode(1)], 'categorical') assert t.infer_target_shape((2, 5)) == (2, 5)
def test_domain_and_target_type(self): """Check if attribute-like `domain_type` and `target_type` do what's expected. """ t = Enumerate([2, "asfa", "ipsi"]) assert t.domain_type == "categorical" assert t.target_type == "integer"
def test_domain_and_target_type(self): """Check if attribute-like `domain_type` and `target_type` do what's expected. """ t = Enumerate([2, 'asfa', 'ipsi']) assert t.domain_type == 'categorical' assert t.target_type == 'integer'
def tdim2(dim2): """Create a second example of `TransformedDimension`.""" transformers = [ Enumerate(dim2.categories), OneHotEncode(len(dim2.categories)) ] tdim2 = TransformedDimension(Compose(transformers, dim2.type), dim2) return tdim2
def test_reverse(self): """Check if it reverses `transform` properly, if possible.""" t = Compose([Enumerate([2, "asfa", "ipsi"]), OneHotEncode(3)], "categorical") assert t.reverse((0.9, 0.8, 0.3)) == 2 assert t.reverse((-0.3, 2.0, 0.0)) == "asfa" assert t.reverse((0.0, 0.0, 1.0)) == "ipsi" with pytest.raises(AssertionError): t.reverse((0.0, 0.0, 0.0, 1.0)) assert numpy.all( t.reverse( numpy.array( [ [(0.0, 0.0, 1.0), (0.0, 1.0, 0.0)], [(1.0, 0.0, 0.0), (0.0, 0.0, 1.0)], ] ) ) == numpy.array([["ipsi", "asfa"], [2, "ipsi"]], dtype=numpy.object) ) t = Compose([Enumerate([2, "asfa"]), OneHotEncode(2)], "categorical") assert t.reverse(0.3) == 2 assert t.reverse(2.0) == "asfa" assert numpy.all( t.reverse((0.0, 0.0, 0.0, 1.0)) == numpy.array([2, 2, 2, "asfa"], dtype=numpy.object) ) assert numpy.all( t.reverse(numpy.array([[0.55, 3.0], [-0.6, 1.0]])) == numpy.array([["asfa", "asfa"], [2, "asfa"]], dtype=numpy.object) ) # for the crazy enough t = Compose([Enumerate([2]), OneHotEncode(1)], "categorical") assert t.reverse(0) == 2 assert t.reverse(5.0) == 2 assert t.reverse(0.2) == 2 assert t.reverse(-0.2) == 2 assert numpy.all( t.reverse([[0.5, 0], [1.0, 55]]) == numpy.array([[2, 2], [2, 2]], dtype=numpy.object) )
def test_domain_and_target_type(self): """Check if attribute-like `domain_type` and `target_type` do what's expected. """ t = Compose([]) assert t.domain_type is None assert t.target_type is None t = Compose([], 'real') assert t.domain_type == 'real' assert t.target_type == 'real' t = Compose([Quantize()], 'real') assert t.domain_type == 'real' assert t.target_type == 'integer' t = Compose([Enumerate([2, 'asfa', 'ipsi']), OneHotEncode(3)], 'categorical') assert t.domain_type == 'categorical' assert t.target_type == 'real'
def test_domain_and_target_type(self): """Check if attribute-like `domain_type` and `target_type` do what's expected. """ t = Compose([]) assert t.domain_type is None assert t.target_type is None t = Compose([], "real") assert t.domain_type == "real" assert t.target_type == "real" t = Compose([Quantize()], "real") assert t.domain_type == "real" assert t.target_type == "integer" t = Compose([Enumerate([2, "asfa", "ipsi"]), OneHotEncode(3)], "categorical") assert t.domain_type == "categorical" assert t.target_type == "real"
def test_repr_format(self): """Check representation of a transformed dimension.""" t = Enumerate([2, 'asfa', 'ipsi']) assert t.repr_format('asfa') == 'Enumerate(asfa)'
def test_reverse(self): """Check if it reverses `transform` properly, if possible.""" t = Enumerate([2, 'asfa', 'ipsi']) assert t.reverse(0) == 2 assert t.reverse(1) == 'asfa' assert t.reverse(2) == 'ipsi' with pytest.raises(IndexError): t.reverse(3) assert numpy.all(t.reverse([[2, 1], [0, 2]]) == numpy.array([['ipsi', 'asfa'], [2, 'ipsi']], dtype=numpy.object)) # for the crazy enough t = Enumerate([2]) assert t.reverse(0) == 2 with pytest.raises(IndexError): t.reverse(1) assert numpy.all(t.reverse([[0, 0], [0, 0]]) == numpy.array([[2, 2], [2, 2]], dtype=numpy.object))
def test_infer_target_shape(self): """Check if it infers the shape of a transformed `Dimension`.""" t = Enumerate([2, 'asfa', 'ipsi']) assert t.infer_target_shape((5,)) == (5,)
def test_repr_format(self): """Check representation of a transformed dimension.""" t = Compose([Enumerate([2, "asfa", "ipsi"]), OneHotEncode(3)], "categorical") assert t.repr_format("asfa") == "OneHotEncode(Enumerate(asfa))"
def test_transform(self): """Check if it transforms properly.""" t = Enumerate([2, 'asfa', 'ipsi']) assert t.transform(2) == 0 assert t.transform('asfa') == 1 assert t.transform('ipsi') == 2 with pytest.raises(KeyError): t.transform('aafdasfa') assert numpy.all(t.transform([['ipsi', 'asfa'], [2, 'ipsi']]) == [[2, 1], [0, 2]]) # for the crazy enough t = Enumerate([2]) assert t.transform(2) == 0 with pytest.raises(KeyError): t.transform('aafdasfa') assert numpy.all(t.transform([[2, 2], [2, 2]]) == [[0, 0], [0, 0]])
def test_deepcopy(self): """Verify that the transformation object can be copied""" t = Enumerate([2, 'asfa', 'ipsi']) # Copy won't fail if vectorized function is not called at least once. t.transform([2]) copy.deepcopy(t)
def test_repr_format(self): """Check representation of a transformed dimension.""" t = Compose([Enumerate([2, 'asfa', 'ipsi']), OneHotEncode(3)], 'categorical') assert t.repr_format('asfa') == 'OneHotEncode(Enumerate(asfa))'
def test_transform(self): """Check if it transforms properly.""" t = Enumerate([2, "asfa", "ipsi"]) assert t.transform(2) == 0 assert t.transform("asfa") == 1 assert t.transform("ipsi") == 2 with pytest.raises(KeyError): t.transform("aafdasfa") assert numpy.all( t.transform([["ipsi", "asfa"], [2, "ipsi"]]) == [[2, 1], [0, 2]]) # for the crazy enough t = Enumerate([2]) assert t.transform(2) == 0 with pytest.raises(KeyError): t.transform("aafdasfa") assert numpy.all(t.transform([[2, 2], [2, 2]]) == [[0, 0], [0, 0]])
def test_repr_format(self): """Check representation of a transformed dimension.""" t = Enumerate([2, "asfa", "ipsi"]) assert t.repr_format("asfa") == "Enumerate(asfa)"
def test_deepcopy(self): """Verify that the transformation object can be copied""" t = Compose([Enumerate([2, 'asfa', 'ipsi']), OneHotEncode(3)], 'categorical') t.transform([2]) copy.deepcopy(t)