code: def test_pca_score3():
      # Check that probabilistic PCA selects the right model
      n, p = 200, 3
      rng = np.random.RandomState(0)
      Xl = (
          rng.randn(n, p)
          + rng.randn(n, 1) * np.array([3, 4, 5])
          + np.array([1, 0, 7])
      )
      Xt = (
          rng.randn(n, p)
          + rng.randn(n, 1) * np.array([3, 4, 5])
          + np.array([1, 0, 7])
      )
      ll = np.zeros(p)
      dXl = da.from_array(Xl, chunks=(n // 2, p))
      dXt = da.from_array(Xt, chunks=(n // 2, p))
      for k in range(p):
          pca = dd.PCA(n_components=k, svd_solver="full")
          pca.fit(dXl)
          ll[k] = pca.score(dXt)
  
      assert ll.argmax() == 1
  
imports: from itertools import product
  import dask.array
  import dask.dataframe
  import numpy
  import pandas
  import pytest
  import scipy
  import sklearn.decomposition
  from dask.array.utils import assert_eq
  from numpy.testing import assert_almost_equal, assert_array_almost_equal, assert_raises
  from sklearn import datasets
  from sklearn.utils import check_random_state
  import dask_ml.decomposition
  from dask_ml._compat import DASK_2_26_0
  from dask_ml.utils import assert_estimator_equal, flip_vector_signs, svd_flip
label_desc: Use image node_id 23 for calling a global function with example usage: test_pca_score3() without return types