code: def test_pca_inverse_transform(
      datatype, input_type, name, use_handle, nrows
  ):
      if name == "blobs":
          pytest.skip("fails when using blobs dataset")
          X, y = make_blobs(
              n_samples=500000, n_features=1000, random_state=0
          )
  
      else:
          rng = np.random.RandomState(0)
          n, p = nrows, 3
          X = rng.randn(n, p)  # spherical data
          X[:, 1] *= 0.00001  # make middle component relatively small
          X += [3, 4, 2]  # make a large mean
  
      handle, stream = get_handle(use_handle)
      cupca = cuPCA(n_components=2, handle=handle)
  
      X_cupca = cupca.fit_transform(X)
  
      input_gdf = cupca.inverse_transform(X_cupca)
      cupca.handle.sync()
      assert array_equal(input_gdf, X, 5e-5, with_sign=True)
  
file_path: cuml/python/cuml/tests/test_pca.py
imports: from cuml.common.exceptions import NotFittedError
  from sklearn.datasets import make_blobs
  from sklearn.decomposition import PCA
  from sklearn.datasets import make_multilabel_classification
  from sklearn import datasets
  from cuml.testing.utils import get_handle, array_equal, unit_param, quality_param, stress_param
  from cuml import PCA
  import pytest
  from cuml.internals.safe_imports import gpu_only_import
  from cuml.internals.safe_imports import cpu_only_import
label_desc: Use image node_id 5 for calling a global function with example usage: test_pca_inverse_transform(datatype, input_type, name, use_handle, nrows) without return types