Ejemplo n.º 1
0
Archivo: test.py Proyecto: lowks/gdprox
def test_sklearn():
    for alpha in np.logspace(-3, 3):

        def logloss(x):
            return logistic._logistic_loss(x, X, y, 0.)

        def fprime_logloss(x):
            return logistic._logistic_loss_and_grad(x, X, y, 0.)[1]

        def g_prox(x, step_size):
            """
            L1 regularization
            """
            return np.fmax(x - step_size * alpha, 0) - \
                np.fmax(- x - step_size * alpha, 0)

        clf = logistic.LogisticRegression(penalty='l1',
                                          fit_intercept=False,
                                          C=1 / alpha)
        clf.fit(X, y)
        opt = fmin_cgprox(logloss,
                          fprime_logloss,
                          g_prox,
                          np.zeros(n_features),
                          rtol=1e-12)
        assert linalg.norm(opt.x - clf.coef_) < 1e-3
Ejemplo n.º 2
0
Archivo: test.py Proyecto: lowks/gdprox
def test_optimize():

    def logloss(x):
        return logistic._logistic_loss(x, X, y, 1.)

    def fprime_logloss(x):
        return logistic._logistic_loss_and_grad(x, X, y, 1.)[1]

    def g_prox(x, alpha):
        return x
    opt = fmin_cgprox(
        logloss, fprime_logloss, g_prox, np.zeros(n_features),
        rtol=1e-12)
    out = optimize.fmin_l_bfgs_b(
        logloss, np.zeros(n_features), fprime=fprime_logloss)
    assert linalg.norm(out[0] - opt.x) < 1e-3
Ejemplo n.º 3
0
Archivo: test.py Proyecto: lowks/gdprox
def test_optimize():
    def logloss(x):
        return logistic._logistic_loss(x, X, y, 1.)

    def fprime_logloss(x):
        return logistic._logistic_loss_and_grad(x, X, y, 1.)[1]

    def g_prox(x, alpha):
        return x

    opt = fmin_cgprox(logloss,
                      fprime_logloss,
                      g_prox,
                      np.zeros(n_features),
                      rtol=1e-12)
    out = optimize.fmin_l_bfgs_b(logloss,
                                 np.zeros(n_features),
                                 fprime=fprime_logloss)
    assert linalg.norm(out[0] - opt.x) < 1e-3
Ejemplo n.º 4
0
Archivo: test.py Proyecto: lowks/gdprox
def test_sklearn():
    for alpha in np.logspace(-3, 3):

        def logloss(x):
            return logistic._logistic_loss(x, X, y, 0.)

        def fprime_logloss(x):
            return logistic._logistic_loss_and_grad(x, X, y, 0.)[1]

        def g_prox(x, step_size):
            """
            L1 regularization
            """
            return np.fmax(x - step_size * alpha, 0) - \
                np.fmax(- x - step_size * alpha, 0)

        clf = logistic.LogisticRegression(
            penalty='l1', fit_intercept=False, C=1 / alpha)
        clf.fit(X, y)
        opt = fmin_cgprox(
            logloss, fprime_logloss, g_prox, np.zeros(n_features),
            rtol=1e-12)
        assert linalg.norm(opt.x - clf.coef_) < 1e-3