old_contents: """
  ==================================================
  Cross validated Lasso path with coordinate descent
  ==================================================
  
  Compute a 5-fold cross-validated Lasso path with coordinate descent to find the
  optimal value of alpha.
  """
  print __doc__
  
  # Author: Olivier Grisel
  # License: BSD Style.
  
  import numpy as np
  import pylab as pl
  
  from scikits.learn.linear_model import LassoCV
  from scikits.learn import datasets
  
  diabetes = datasets.load_diabetes()
  X = diabetes.data
  y = diabetes.target
  
  # normalize data as done by LARS to allow for comparison
  X /= np.sqrt(np.sum(X ** 2, axis=0))
  
  ################################################################################
  # Compute paths
  
  eps = 1e-3 # the smaller it is the longer is the path
  
  print "Computing regularization path using the lasso..."
  model = LassoCV(eps=eps).fit(X, y)
  
  ################################################################################
  # Display results
  m_log_alphas = -np.log(model.alphas)
  m_log_alpha = -np.log(model.alpha)
  
  ax = pl.gca()
  ax.set_color_cycle(2 * ['b', 'r', 'g', 'c', 'k'])
  pl.subplot(2, 1, 1)
  pl.plot(m_log_alphas, model.coef_path_)
  
  ymin, ymax = pl.ylim()
  pl.vlines([m_log_alpha], ymin, ymax, linestyle='dashed')
  
  pl.xticks(())
  pl.ylabel('weights')
  pl.title('Lasso paths')
  pl.axis('tight')
  
  pl.subplot(2, 1, 2)
  ymin, ymax = 2600, 3800
  pl.plot(m_log_alphas, model.mse_path_)
  pl.vlines([m_log_alpha], ymin, ymax, linestyle='dashed')
  
  pl.xlabel('-log(lambda)')
  pl.ylabel('MSE')
  pl.title('Mean Square Errors on each CV fold')
  pl.axis('tight')
  pl.ylim(ymin, ymax)
  
  pl.show()
  
  
new_contents: """
  ==================================================
  Cross validated Lasso path with coordinate descent
  ==================================================
  
  Compute a 5-fold cross-validated Lasso path with coordinate descent to find the
  optimal value of alpha.
  """
  print __doc__
  
  # Author: Olivier Grisel
  # License: BSD Style.
  
  import numpy as np
  import pylab as pl
  
  from scikits.learn.linear_model import LassoCV
  from scikits.learn import datasets
  
  diabetes = datasets.load_diabetes()
  X = diabetes.data
  y = diabetes.target
  
  # normalize data as done by LARS to allow for comparison
  X /= np.sqrt(np.sum(X ** 2, axis=0))
  
  ################################################################################
  # Compute paths
  
  eps = 1e-3 # the smaller it is the longer is the path
  
  print "Computing regularization path using the lasso..."
  model = LassoCV(eps=eps).fit(X, y)
  
  ################################################################################
  # Display results
  m_log_alphas = -np.log10(model.alphas)
  m_log_alpha = -np.log10(model.alpha)
  
  ax = pl.gca()
  ax.set_color_cycle(2 * ['b', 'r', 'g', 'c', 'k'])
  pl.subplot(2, 1, 1)
  pl.plot(m_log_alphas, model.coef_path_)
  
  ymin, ymax = pl.ylim()
  pl.vlines([m_log_alpha], ymin, ymax, linestyle='dashed')
  
  pl.xticks(())
  pl.ylabel('weights')
  pl.title('Lasso paths')
  pl.axis('tight')
  
  pl.subplot(2, 1, 2)
  ymin, ymax = 2600, 3800
  pl.plot(m_log_alphas, model.mse_path_)
  pl.vlines([m_log_alpha], ymin, ymax, linestyle='dashed')
  
  pl.xlabel('-log(lambda)')
  pl.ylabel('MSE')
  pl.title('Mean Square Errors on each CV fold')
  pl.axis('tight')
  pl.ylim(ymin, ymax)
  
  pl.show()
  
  
subject: switch to base 10 for the alpha logs in the Lasso CD path plot