def test_part_discrete_data(self): train_data, test_data = load_project_data('example') examples = [ex for ex in train_data] + [ex for ex in test_data] data = ExampleSet(examples) n = Node() H_x, H_y_x, part_data = n.partition_data(data, 1) self.assertAlmostEqual(0.61219, H_y_x, 3) self.assertAlmostEqual(1.5849, H_x, 3) H_x, H_y_x, part_data = n.partition_data(data, 3) self.assertAlmostEqual(0.61219, H_y_x, 3) self.assertAlmostEqual(1.5849, H_x, 3) attr_index, part_data = n.max_GR(examples, [1, 3]) self.assertEqual(attr_index, 1) part_data_test = {} for ex in examples: part_data_test.setdefault(ex[1], []).append(ex) self.assertEqual(part_data_test, part_data) attr_index, part_data = n.max_GR(examples, [3, 1]) self.assertEqual(attr_index, 3) part_data_test = {} for ex in examples: part_data_test.setdefault(ex[3], []).append(ex) self.assertEqual(part_data_test, part_data)
def test_part_discrete_data(self): train_data, test_data = load_project_data('example') examples = [ex for ex in train_data] + [ex for ex in test_data] data = ExampleSet(examples) n = Node() H_x,H_y_x, part_data = n.partition_data(data,1) self.assertAlmostEqual(0.61219,H_y_x,3) self.assertAlmostEqual(1.5849,H_x,3) H_x,H_y_x, part_data = n.partition_data(data,3) self.assertAlmostEqual(0.61219,H_y_x,3) self.assertAlmostEqual(1.5849,H_x,3) attr_index,part_data = n.max_GR(examples,[1,3]) self.assertEqual(attr_index,1) part_data_test = {} for ex in examples: part_data_test.setdefault(ex[1],[]).append(ex) self.assertEqual(part_data_test,part_data) attr_index,part_data = n.max_GR(examples,[3,1]) self.assertEqual(attr_index,3) part_data_test = {} for ex in examples: part_data_test.setdefault(ex[3],[]).append(ex) self.assertEqual(part_data_test,part_data)