code: def quic_graph_lasso_cv(X, metric):
      """Run QuicGraphicalLassoCV on data with metric of choice.
  
      Compare results with GridSearchCV + quic_graph_lasso. The number of lambdas
      tested should be much lower with similar final lam_ selected.
      """
      print("QuicGraphicalLassoCV with:")
      print("   metric: {}".format(metric))
      model = QuicGraphicalLassoCV(
          cv=2,  # cant deal w more folds at small size
          n_refinements=6,
          sc=spark.sparkContext,  # NOQA
          init_method="cov",
          score_metric=metric,
      )
      model.fit(X)
      print("   len(cv_lams): {}".format(len(model.cv_lams_)))
      print("   lam_scale_: {}".format(model.lam_scale_))
      print("   lam_: {}".format(model.lam_))
      return model.covariance_, model.precision_, model.lam_
  
file_path: skggm/examples/estimator_suite_spark.py
imports: import sys
  import numpy
  import tabulate
  import time
  import matplotlib.pyplot
  from sklearn.covariance import ledoit_wolf
  from inverse_covariance import QuicGraphicalLasso, QuicGraphicalLassoCV, QuicGraphicalLassoEBIC, AdaptiveGraphicalLasso, ModelAverage
  from inverse_covariance.profiling import LatticeGraph
label_desc: Use image node_id 2 for calling a global function with example usage: quic_graph_lasso_cv(X, metric) and returns: model,  model,  model