def test_new_columns_constructor(): """ Test the new tree constructor that takes CHAID Columns as parameters """ orientation = np.array([0,0,1,1,0,0,1,1,0,0,1,2,2,2,2,2,2,2,2,1]) age = np.array([0,1,1,0,2,2,2,2,1,1,1,0,0,0,0,0,0,0,0,0]) income = np.array([0,0,1,1,2,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0]) metadata = {0: '0-5', 1: '6-10', 2: '11-15'} cols = [ CHAID.OrdinalColumn(orientation, name="orientation", metadata=metadata), CHAID.OrdinalColumn(age, name="age", metadata=metadata), ] tree = CHAID.Tree(cols, CHAID.NominalColumn(income), {'min_child_node_size': 1}) assert tree.tree_store[0].split.groupings == "[['0-5'], ['6-10', '11-15']]"
def setUp(self): """ Setup for grouping tests """ arr = np.array( [1.0, 2.0, 3.0, 3.0, 3.0, 3.0, 4.0, 5.0, 10.0, None], dtype=object ) self.col = CHAID.OrdinalColumn(arr)
def test_column_stores_weights(): """ Tests that the columns store the weights when they are passed """ arr = np.array([1.0, 2.0, 3.0]) wt = np.array([2.0, 1.0, 0.25]) nominal = CHAID.NominalColumn(arr, weights=wt) ordinal = CHAID.OrdinalColumn(arr, weights=wt) continuous = CHAID.ContinuousColumn(arr, weights=wt) assert (nominal.weights == wt).all() assert (ordinal.weights == wt).all() assert (continuous.weights == wt).all()
def setUp(self): """ Setup for grouping tests """ arr = np.array([1.0, 2.0, nan, 3.0, 3.0, nan, 3.0, 3.0, nan, 4.0, 5.0, 10.0]) self.col = CHAID.OrdinalColumn(arr)
def setUp(self): """ Setup for copy tests""" arr = np.array([1, 2, 3, 3, 3, 3]) self.orig = CHAID.OrdinalColumn(arr) self.copy = self.orig.deep_copy()