code: def estimator_array_strategy(draw):
      X_m = draw(st.integers(5, 20))
      X_n = draw(st.integers(2, 10))
      dtype = draw(st.sampled_from([np.float64, np.float32]))
      rs = np.random.RandomState(draw(st.integers(1, 10)))
      X = rs.rand(X_m, X_n).astype(dtype)
      X_test = rs.rand(draw(st.integers(5, 20)), X_n).astype(dtype)
  
      n_targets = draw(st.integers(1, 3))
      a = draw(
          arrays(
              dtype=dtype,
              shape=(X_n, n_targets),
              elements=st.floats(0, 5, width=32),
          )
      )
      y = X.dot(a)
  
      alpha = draw(
          arrays(
              dtype=dtype,
              shape=(n_targets),
              elements=st.floats(0.0010000000474974513, 5, width=32),
          )
      )
  
      sample_weight = draw(
          st.one_of(
              [
                  st.just(None),
                  st.floats(0.1, 1.5),
                  arrays(
                      dtype=np.float64,
                      shape=X_m,
                      elements=st.floats(0.1, 5),
                  ),
              ]
          )
      )
      type = draw(st.sampled_from(["numpy", "cupy", "cudf", "pandas"]))
      return (*as_type(type, X, y, X_test, alpha, sample_weight), dtype)
  
imports: from cuml.testing.utils import as_type
  from hypothesis.extra.numpy import arrays
  from hypothesis import given, settings, assume, strategies
  from sklearn.kernel_ridge import KernelRidge
  import inspect
  import math
  import pytest
  from sklearn.metrics.pairwise import pairwise_kernels
  from cuml.metrics import pairwise_kernels, PAIRWISE_KERNEL_FUNCTIONS
  from cuml import KernelRidge
  from cuml.internals.safe_imports import cpu_only_import
  from cuml.internals.safe_imports import gpu_only_import_from
  from cuml.internals.safe_imports import gpu_only_import
label_desc: Use image node_id 7 for calling a global function with example usage: estimator_array_strategy(draw) and returns: unknown,  dtype