예제 #1
0
    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)
예제 #2
0
 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)