def test_1(self): (f, g) = svmalgencan(self.rows, self.cols, self.vals, self.labels, self.weight, self.penalty, 0) expected = np.repeat(2/3, self.n) diff = np.linalg.norm(self.weight - expected) self.assertLessEqual(diff, 1e-12, '|w* - w|') self.assertAlmostEqual(g, 0, delta=1e-12, msg='|grad|')
def algencan(self, penalty, epsopt, suppress=True): watch = StopWatch() with watch, NoStdout(suppress): (f, g) = svmalgencan(self.rows, self.cols, self.vals, self.labels, self.weight, penalty, epsopt) return RunResult('reference algencan', 1, watch.total_seconds, penalty, f, g, self.accuracy())