code: def test_blockwise_shufflesplit():
      splitter = dask_ml.model_selection.ShuffleSplit(random_state=0)
      assert splitter.get_n_splits() == 10
      gen = splitter.split(dX)
  
      train_idx, test_idx = next(gen)
      assert isinstance(train_idx, da.Array)
      assert isinstance(test_idx, da.Array)
  
      assert train_idx.shape == (99,)  # 90% of 110
      assert test_idx.shape == (11,)
  
      assert train_idx.chunks == ((45, 45, 9),)
      assert test_idx.chunks == ((5, 5, 1),)
  
      counts = pd.value_counts(train_idx.compute())
      assert counts.max() == 1
  
      N = len(X)
  
      np.testing.assert_array_equal(
          np.unique(da.concatenate([train_idx, test_idx])), np.arange(N)
      )
  
imports: import dask.array
  import dask.dataframe
  import numpy
  import pandas
  import pytest
  from sklearn.datasets import fetch_20newsgroups, make_regression
  import dask_ml.model_selection
  from dask_ml._compat import DASK_2130
label_desc: Use image node_id 2 for calling a global function with example usage: test_blockwise_shufflesplit() without return types