code: def test_lasso_lars_ic():
      # Test the LassoLarsIC object by checking that
      # - some good features are selected.
      # - alpha_bic > alpha_aic
      # - n_nonzero_bic < n_nonzero_aic
      lars_bic = linear_model.LassoLarsIC("bic")
      lars_aic = linear_model.LassoLarsIC("aic")
      rng = np.random.RandomState(42)
      X = diabetes.data
      X = np.c_[X, rng.randn(X.shape[0], 5)]  # add 5 bad features
      X = StandardScaler().fit_transform(X)
      lars_bic.fit(X, y)
      lars_aic.fit(X, y)
      nonzero_bic = np.where(lars_bic.coef_)[0]
      nonzero_aic = np.where(lars_aic.coef_)[0]
      assert lars_bic.alpha_ > lars_aic.alpha_
      assert len(nonzero_bic) < len(nonzero_aic)
      assert np.max(nonzero_bic) < diabetes.data.shape[1]
  
imports: import warnings
  import numpy
  import pytest
  from scipy import linalg
  from sklearn import datasets, linear_model
  from sklearn.base import clone
  from sklearn.exceptions import ConvergenceWarning
  from sklearn.linear_model import Lars, LarsCV, LassoLars, LassoLarsCV, LassoLarsIC, lars_path
  from sklearn.linear_model._least_angle import _lars_path_residues
  from sklearn.model_selection import train_test_split
  from sklearn.pipeline import make_pipeline
  from sklearn.preprocessing import StandardScaler
  from sklearn.utils._testing import TempMemmap, assert_allclose, assert_array_almost_equal, ignore_warnings
label_desc: Use image node_id 26 for calling a global function with example usage: test_lasso_lars_ic() without return types