code: def test_split_dataframe(n_samples, n_classes, n_splits, shuffle):
      X, y = get_x_y(n_samples, n_classes)
  
      kf = StratifiedKFold(n_splits=n_splits, shuffle=shuffle)
      for train_index, test_index in kf.split(X, y):
          assert len(train_index) + len(test_index) == n_samples
          assert len(train_index) == len(test_index) * (n_splits - 1)
          for i in range(n_classes):
              ratio_tr = (y[train_index] == i).sum() / len(train_index)
              ratio_te = (y[test_index] == i).sum() / len(test_index)
              assert ratio_tr == ratio_te
  
imports: from cuml.model_selection import StratifiedKFold
  import pytest
  from cuml.internals.safe_imports import gpu_only_import
label_desc: Use image node_id 2 for calling a global function with example usage: test_split_dataframe(n_samples, n_classes, n_splits, shuffle) without return types