コード例 #1
0
ファイル: test_prim.py プロジェクト: anukat2015/EMAworkbench
    def test_update(self):
        x = np.array([(0,1,2),
                      (2,5,6),
                      (3,2,1)], 
                     dtype=[('a', np.float),
                            ('b', np.float),
                            ('c', np.float)])
        y = {'y':np.array([1,1,0])}
        results = (x,y)
        
        prim_obj = prim.setup_prim(results, 'y', threshold=0.8)
        box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi)

        new_box_lim = np.array([(0,1,1),
                                (2,5,6)], 
                                dtype=[('a', np.float),
                                        ('b', np.float),
                                        ('c', np.float)])
        indices = np.array([0,1], dtype=np.int)
        box.update(new_box_lim, indices)
        
        self.assertEqual(box.peeling_trajectory['mean'][1], 1)
        self.assertEqual(box.peeling_trajectory['coverage'][1], 1)
        self.assertEqual(box.peeling_trajectory['density'][1], 1)
        self.assertEqual(box.peeling_trajectory['res dim'][1], 1)
        self.assertEqual(box.peeling_trajectory['mass'][1], 2/3)
コード例 #2
0
ファイル: test_prim.py プロジェクト: quaquel/EMAworkbench
    def test_drop_restriction(self):
        x = pd.DataFrame([(0,1,2),
                          (2,5,6),
                          (3,2,1)], 
                          columns=['a', 'b', 'c'])
        y = {'y':np.array([1,1,0])}
        results = (x,y)
        
        prim_obj = prim.setup_prim(results, 'y', threshold=0.8)
        box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi)

        new_box_lim = pd.DataFrame([(0,1,1),
                                    (2,2,6)], 
                                    columns=['a', 'b', 'c'])
        indices = np.array([0,1], dtype=np.int)
        box.update(new_box_lim, indices)
        
        box.drop_restriction('b')
        
        correct_box_lims = pd.DataFrame([(0,1,1),
                                         (2,5,6)], 
                                         columns=['a', 'b', 'c'])        
        box_lims = box.box_lims[-1]
        names = box_lims.columns
        for entry in names:
            lim_correct = correct_box_lims[entry]
            lim_box = box_lims[entry]
            for i in range(len(lim_correct)):
                self.assertEqual(lim_correct[i], lim_box[i])
        
        self.assertEqual(box.peeling_trajectory['mean'][2], 1)
        self.assertEqual(box.peeling_trajectory['coverage'][2], 1)
        self.assertEqual(box.peeling_trajectory['density'][2], 1)
        self.assertEqual(box.peeling_trajectory['res_dim'][2], 1)
        self.assertEqual(box.peeling_trajectory['mass'][2], 2/3)        
コード例 #3
0
    def test_show_ppt(self):
        x = pd.DataFrame([(0, 1, 2), (2, 5, 6), (3, 2, 1)],
                         columns=['a', 'b', 'c'])
        y = np.array([1, 1, 0])

        prim_obj = prim.Prim(x, y, threshold=0.8)
        box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi)

        cols = ['mean', 'mass', 'coverage', 'density', 'res_dim']
        data = np.zeros((100, 5))
        data[:, 0:4] = np.random.rand(100, 4)
        data[:, 4] = np.random.randint(0, 5, size=(100, ))
        box.peeling_trajectory = pd.DataFrame(data, columns=cols)

        box.show_ppt()
コード例 #4
0
ファイル: test_prim.py プロジェクト: quaquel/EMAworkbench
 def test_show_tradeoff(self):    
     x = pd.DataFrame([(0,1,2),
                       (2,5,6),
                       (3,2,1)], 
                       columns=['a', 'b', 'c'])
     y = np.array([1,1,0])
     
     prim_obj = prim.Prim(x, y, threshold=0.8)
     box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi)
     
     
     cols = ['mean', 'mass', 'coverage', 'density', 'res_dim']
     data = np.zeros((100, 5))
     data[:, 0:4] = np.random.rand(100, 4)
     data[:, 4] = np.random.randint(0, 5, size=(100, ))
     box.peeling_trajectory = pd.DataFrame(data, columns=cols)
     
     box.show_tradeoff()    
コード例 #5
0
    def test_init(self):
        x = np.array([(0, 1, 2), (2, 5, 6), (3, 2, 1)],
                     dtype=[('a', np.float), ('b', np.float), ('c', np.float)])
        y = {'y': np.array([0, 1, 2])}
        results = (x, y)

        prim_obj = prim.setup_prim(results, 'y', threshold=0.8)
        box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi)

        self.assertEqual(box.peeling_trajectory.shape, (1, 5))
コード例 #6
0
ファイル: test_prim.py プロジェクト: quaquel/EMAworkbench
    def test_select(self):
        x = pd.DataFrame([(0,1,2),
                          (2,5,6),
                          (3,2,1)], 
                          columns=['a', 'b', 'c'])
        y = {'y':np.array([1,1,0])}
        results = (x,y)
        
        prim_obj = prim.setup_prim(results, 'y', threshold=0.8)
        box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi)

        new_box_lim = pd.DataFrame([(0,1,1),
                                    (2,5,6)], 
                                    columns=['a', 'b', 'c'])
        indices = np.array([0,1], dtype=np.int)
        box.update(new_box_lim, indices)
        
        box.select(0)
        self.assertTrue(np.all(box.yi==prim_obj.yi))
コード例 #7
0
    def test_init(self):
        x = pd.DataFrame([(0, 1, 2), (2, 5, 6), (3, 2, 1)],
                         columns=['a', 'b', 'c'])
        y = {'y': np.array([0, 1, 2])}
        results = (x, y)

        prim_obj = prim.setup_prim(results, 'y', threshold=0.8)
        box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi)

        self.assertEqual(box.peeling_trajectory.shape, (1, 6))
コード例 #8
0
    def test_drop_restriction(self):
        x = np.array([(0, 1, 2), (2, 5, 6), (3, 2, 1)],
                     dtype=[('a', np.float), ('b', np.float), ('c', np.float)])
        y = {'y': np.array([1, 1, 0])}
        results = (x, y)

        prim_obj = prim.setup_prim(results, 'y', threshold=0.8)
        box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi)

        new_box_lim = np.array([(0, 1, 1), (2, 2, 6)],
                               dtype=[('a', np.float), ('b', np.float),
                                      ('c', np.float)])
        indices = np.array([0, 1], dtype=np.int)
        box.update(new_box_lim, indices)

        box.drop_restriction('b')

        correct_box_lims = np.array([(0, 1, 1), (2, 5, 6)],
                                    dtype=[('a', np.float), ('b', np.float),
                                           ('c', np.float)])
        box_lims = box.box_lims[-1]
        names = recfunctions.get_names(correct_box_lims.dtype)
        for entry in names:
            lim_correct = correct_box_lims[entry]
            lim_box = box_lims[entry]
            for i in range(len(lim_correct)):
                self.assertEqual(lim_correct[i], lim_box[i])

        self.assertEqual(box.peeling_trajectory['mean'][2], 1)
        self.assertEqual(box.peeling_trajectory['coverage'][2], 1)
        self.assertEqual(box.peeling_trajectory['density'][2], 1)
        self.assertEqual(box.peeling_trajectory['res dim'][2], 1)
        self.assertEqual(box.peeling_trajectory['mass'][2], 2 / 3)
コード例 #9
0
    def test_inspect(self):
        x = np.array([(0,1,2),
                      (2,5,6),
                      (3,2,1)], 
                     dtype=[('a', np.float),
                            ('b', np.float),
                            ('c', np.float)])
        y = {'y':np.array([1,1,0])}
        results = (x,y)
        
        prim_obj = prim.setup_prim(results, 'y', threshold=0.8)
        box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi)

        new_box_lim = np.array([(0,1,1),
                                (2,5,6)], 
                                dtype=[('a', np.float),
                                        ('b', np.float),
                                        ('c', np.float)])
        indices = np.array([0,1], dtype=np.int)
        box.update(new_box_lim, indices)
        
        box.inspect(1)
コード例 #10
0
    def test_inspect(self):
        x = np.array([(0, 1, 2), (2, 5, 6), (3, 2, 1)],
                     dtype=[('a', np.float), ('b', np.float), ('c', np.float)])
        y = {'y': np.array([1, 1, 0])}
        results = (x, y)

        prim_obj = prim.setup_prim(results, 'y', threshold=0.8)
        box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi)

        new_box_lim = np.array([(0, 1, 1), (2, 5, 6)],
                               dtype=[('a', np.float), ('b', np.float),
                                      ('c', np.float)])
        indices = np.array([0, 1], dtype=np.int)
        box.update(new_box_lim, indices)

        box.inspect(1)
コード例 #11
0
    def test_select(self):
        x = pd.DataFrame([(0, 1, 2), (2, 5, 6), (3, 2, 1)],
                         columns=['a', 'b', 'c'])
        y = {'y': np.array([1, 1, 0])}
        results = (x, y)

        prim_obj = prim.setup_prim(results, 'y', threshold=0.8)
        box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi)

        new_box_lim = pd.DataFrame([(0, 1, 1), (2, 5, 6)],
                                   columns=['a', 'b', 'c'])
        indices = np.array([0, 1], dtype=np.int)
        box.update(new_box_lim, indices)

        box.select(0)
        self.assertTrue(np.all(box.yi == prim_obj.yi))
コード例 #12
0
    def test_inspect(self):
        x = pd.DataFrame([(0,1,2),
                          (2,5,6),
                          (3,2,1)], 
                          columns=['a', 'b', 'c'])
        y = np.array([1,1,0])
        
        prim_obj = prim.Prim(x, y, threshold=0.8)
        box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi)

        new_box_lim = pd.DataFrame([(0,1,1),
                                    (2,5,6)], 
                                    columns=['a', 'b', 'c'])
        indices = np.array([0,1], dtype=np.int)
        box.update(new_box_lim, indices)
        
        box.inspect(1)
コード例 #13
0
ファイル: test_prim.py プロジェクト: quaquel/EMAworkbench
    def test_inspect(self):
        x = pd.DataFrame([(0,1,2),
                          (2,5,6),
                          (3,2,1)], 
                          columns=['a', 'b', 'c'])
        y = np.array([1,1,0])
        
        prim_obj = prim.Prim(x, y, threshold=0.8)
        box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi)

        new_box_lim = pd.DataFrame([(0,1,1),
                                    (2,5,6)], 
                                    columns=['a', 'b', 'c'])
        indices = np.array([0,1], dtype=np.int)
        box.update(new_box_lim, indices)
        
        box.inspect(1)
        box.inspect()
        box.inspect(style='graph')
        
        with self.assertRaises(ValueError):
            box.inspect(style='some unknown style')
コード例 #14
0
    def test_inspect(self):
        x = pd.DataFrame([(0, 1, 2), (2, 5, 6), (3, 2, 1)],
                         columns=['a', 'b', 'c'])
        y = np.array([1, 1, 0])

        prim_obj = prim.Prim(x, y, threshold=0.8)
        box = PrimBox(prim_obj, prim_obj.box_init, prim_obj.yi)

        new_box_lim = pd.DataFrame([(0, 1, 1), (2, 5, 6)],
                                   columns=['a', 'b', 'c'])
        indices = np.array([0, 1], dtype=np.int)
        box.update(new_box_lim, indices)

        box.inspect(1)
        box.inspect()
        box.inspect(style='graph')

        with self.assertRaises(ValueError):
            box.inspect(style='some unknown style')