def test2(self): t1 = self.tree vc = VectCollection() bv = ExplicitBitVect(5) bv.SetBitsFromList([0]) vc.AddVect(1, bv) bv = ExplicitBitVect(5) bv.SetBitsFromList([1, 2]) vc.AddVect(2, bv) ex = ['nm', bv, 1] self.assertTrue(t1.ClassifyExample(ex)) bv = ExplicitBitVect(5) bv.SetBitsFromList([0, 2]) vc.AddVect(1, bv) ex = ['nm', bv, 1] self.assertFalse(t1.ClassifyExample(ex))
def test3(self): from BuildSigTree import BuildSigTree examples = [] bv = ExplicitBitVect(2) vc = VectCollection() vc.AddVect(1,bv) examples.append(['a',vc,1]) bv = ExplicitBitVect(2) bv.SetBit(1) vc = VectCollection() vc.AddVect(1,bv) examples.append(['c',vc,0]) bv = ExplicitBitVect(2) bv.SetBit(1) vc = VectCollection() vc.AddVect(1,bv) examples.append(['c2',vc,0]) bv = ExplicitBitVect(2) bv.SetBit(0) vc = VectCollection() vc.AddVect(1,bv) examples.append(['d',vc,0]) bv = ExplicitBitVect(2) bv.SetBit(0) vc = VectCollection() vc.AddVect(1,bv) bv = ExplicitBitVect(2) bv.SetBit(1) vc.AddVect(2,bv) examples.append(['d2',vc,0]) bv = ExplicitBitVect(2) bv.SetBit(0) bv.SetBit(1) vc = VectCollection() vc.AddVect(1,bv) examples.append(['d',vc,1]) bv = ExplicitBitVect(2) bv.SetBit(0) bv.SetBit(1) vc = VectCollection() vc.AddVect(1,bv) examples.append(['e',vc,1]) t = BuildSigTree(examples,2,metric=InfoTheory.InfoType.ENTROPY, maxDepth=2,verbose=0) self.assertEqual(t.GetName(),'Bit-0') self.assertEqual(t.GetLabel(),0) c0 = t.GetChildren()[0] self.assertEqual(c0.GetName(),'Bit-1') self.assertEqual(c0.GetLabel(),1) c1 = t.GetChildren()[1] self.assertEqual(c1.GetName(),'Bit-1') self.assertEqual(c1.GetLabel(),1) bv = ExplicitBitVect(2) bv.SetBit(0) vc = VectCollection() vc.AddVect(1,bv) bv = ExplicitBitVect(2) bv.SetBit(1) vc.AddVect(2,bv) r = t.ClassifyExample(['t',vc,0]) self.assertEqual(r,0)
def test3(self): examples = [] bv = ExplicitBitVect(2) vc = VectCollection() vc.AddVect(1, bv) examples.append(['a', vc, 1]) bv = ExplicitBitVect(2) bv.SetBit(1) vc = VectCollection() vc.AddVect(1, bv) examples.append(['c', vc, 0]) bv = ExplicitBitVect(2) bv.SetBit(1) vc = VectCollection() vc.AddVect(1, bv) examples.append(['c2', vc, 0]) bv = ExplicitBitVect(2) bv.SetBit(0) vc = VectCollection() vc.AddVect(1, bv) examples.append(['d', vc, 0]) bv = ExplicitBitVect(2) bv.SetBit(0) vc = VectCollection() vc.AddVect(1, bv) bv = ExplicitBitVect(2) bv.SetBit(1) vc.AddVect(2, bv) examples.append(['d2', vc, 0]) bv = ExplicitBitVect(2) bv.SetBit(0) bv.SetBit(1) vc = VectCollection() vc.AddVect(1, bv) examples.append(['d', vc, 1]) bv = ExplicitBitVect(2) bv.SetBit(0) bv.SetBit(1) vc = VectCollection() vc.AddVect(1, bv) examples.append(['e', vc, 1]) f = StringIO() with redirect_stdout(f): t = BuildSigTree(examples, 2, metric=InfoTheory.InfoType.ENTROPY, maxDepth=2, verbose=True) self.assertIn('Build', f.getvalue()) self.assertEqual(t.GetName(), 'Bit-0') self.assertEqual(t.GetLabel(), 0) c0 = t.GetChildren()[0] self.assertEqual(c0.GetName(), 'Bit-1') self.assertEqual(c0.GetLabel(), 1) c1 = t.GetChildren()[1] self.assertEqual(c1.GetName(), 'Bit-1') self.assertEqual(c1.GetLabel(), 1) bv = ExplicitBitVect(2) bv.SetBit(0) vc = VectCollection() vc.AddVect(1, bv) bv = ExplicitBitVect(2) bv.SetBit(1) vc.AddVect(2, bv) r = t.ClassifyExample(['t', vc, 0]) self.assertEqual(r, 0)