In [1]:
import scipy.sparse as sp
import numpy as np
from lasso import SparseLasso

In [2]:
from lasso import sklearn_comparison

Test 1: very degenerate sklearn example


In [3]:
skl_ex_X = np.array([[0.,0], [1, 1], [2, 2]])
skl_ex_Y = np.array([0, 1, 2])

In [4]:
sklearn_comparison(skl_ex_X, skl_ex_Y, lam = 0.1)


Out[4]:
{'intercept': 0.025000000000000022,
 'objective': 0.098750000000000004,
 'weights': array([  9.75000000e-01,   4.16333634e-17])}

In [5]:
lasso_toy = SparseLasso(X = skl_ex_X, 
            y = skl_ex_Y,
            lam = 0.1)
lasso_toy.run()
lasso_toy.objective()


0.098750036122
  (0, 0)	0.0
  (1, 0)	0.975104098956
Out[5]:
0.098750036121975179

Test 2: less degenerate modification of sklearn example


In [6]:
X = np.array([[0.,1], [1, 2], [2, 3]])
Y = np.array([2., 5, 8])
lam = 0.1

In [7]:
sklearn_comparison(X, Y, lam = lam)


Out[7]:
{'intercept': 2.0249999999999999,
 'objective': 0.29875000000000007,
 'weights': array([ 2.975,  0.   ])}

In [8]:
lasso_toy = SparseLasso(X = X, y = Y, lam = lam)
lasso_toy.run()
lasso_toy.objective()


0.298750064354
  (0, 0)	2.2406977257
  (1, 0)	0.734136201636
Out[8]:
0.29875006435363688

Test 3: "big" data


In [9]:
X = np.array([[0., 1, 4, 5, 6, 9], [1, 2., 0, 0 , 3, 4], [2, 3, 4, 6, 7, 1.]])
Y = np.array([2., 5, 8])
lam = 0.1

In [10]:
sklearn_comparison(X, Y, lam = lam)['objective']


Out[10]:
0.086471604938274382

In [11]:
lasso_toy = SparseLasso(X = X, y = Y, lam = lam, verbose = False)
lasso_toy.run()
lasso_toy.objective()


0.0864720343476
  (0, 0)	0.0
  (1, 0)	0.0
  (2, 0)	0.0
  (3, 0)	0.130795519115
  (4, 0)	0.0
  (5, 0)	-0.731815580563
Out[11]:
0.086472034347620935

In [ ]: