code: def test_model_cv_df(spark):
      indexdf = spark.read.parquet(
          f"{data_root}/groupedIDs.snappy.parquet"
      )
      level1df = spark.read.parquet(
          f"{data_root}/level1BlockedGT.snappy.parquet"
      ).limit(5)
      group2ids = __get_sample_blocks(indexdf)
  
      regressor = RidgeRegression(
          level1df,
          std_labeldf,
          group2ids,
          add_intercept=False,
          alphas=alphas,
      )
  
      regressor.model_df = spark.createDataFrame([("Alice", 1)])
      model_df = spark.createDataFrame([("Alice", 1)])
      regressor.model_df = model_df
  
      cv_df = spark.createDataFrame([("Bob", 2)])
      regressor.cv_df = cv_df
  
      assert (
          str(regressor.model_df.storageLevel)
          == "Serialized 1x Replicated"
      )
      regressor._cache_model_cv_df()
      assert (
          str(regressor.model_df.storageLevel)
          == "Disk Memory Deserialized 1x Replicated"
      )
      regressor._unpersist_model_cv_df()
      assert (
          str(regressor.model_df.storageLevel)
          == "Serialized 1x Replicated"
      )
  
imports: from glow.wgr.ridge_reduction import *
  from glow.wgr.ridge_regression import *
  from glow.wgr.ridge_udfs import *
  from glow.wgr.model_functions import _fill_na_and_standardize
  import numpy
  import pandas
  from pyspark.sql.functions import *
  import math
label_desc: Use image node_id 23 for calling a global function with example usage: test_model_cv_df(spark) without return types