def testBurges(self): " testing Burges empirical risk bound " res = numpy.array( map(lambda x, y=self.nPts, z=self.eps2: Risk.BurgesRiskBound( x[0], y, x[1], z), self.dList)) res = numpy.array([ Risk.BurgesRiskBound(x[0], self.nPts, x[1], self.eps2) for x in self.dList ]) target = numpy.array([.7445, .8157, .6698, .7649, .7506, .7658, .7896]) maxDev = max(abs(res - target)) assert maxDev < self.tol, 'maxDev too high'
def testCherkassky(self): " testing Cherkassky empirical risk bound " res = numpy.array([ Risk.CherkasskyRiskBound(x[0], self.nPts, x[1], self.eps) for x in self.dList ]) target = numpy.array([.6654, .7450, .5378, .6329, .6010, .6175, .6501]) maxDev = max(abs(res - target)) assert maxDev < self.tol, 'maxDev too high'
def testChristiani(self): " testing Christiani empirical risk bound " res = numpy.array([ Risk.CristianiRiskBound(x[0], self.nPts, x[1], self.eps) for x in self.dList ]) target = numpy.array( [1.5617, 1.7438, 1.4797, 1.7394, 1.7235, 1.7653, 1.8235]) maxDev = max(abs(res - target)) assert maxDev < self.tol, 'maxDev too high'
def test_log2(self): self.assertEqual(Risk.log2(1), 0) self.assertEqual(Risk.log2(2), 1) self.assertEqual(Risk.log2(4), 2) self.assertEqual(Risk.log2(0.5), -1) self.assertEqual(Risk.log2(0.25), -2) self.assertEqual(Risk.log2(0.125), -3)