code: def test_make_classification(setup):
      weights = [0.1, 0.25]
      X, y = make_classification(
          n_samples=100,
          n_features=20,
          n_informative=5,
          n_redundant=1,
          n_repeated=1,
          n_classes=3,
          n_clusters_per_class=1,
          hypercube=False,
          shift=None,
          scale=None,
          weights=weights,
          random_state=0,
          flip_y=-1,
      )
  
      assert weights == [0.1, 0.25]
      assert X.shape == (100, 20)
      assert y.shape == (100,)
      assert mt.unique(y).to_numpy().shape == (3,)
      assert (y == 0).sum().to_numpy() == 10
      assert (y == 1).sum().to_numpy() == 25
      assert (y == 2).sum().to_numpy() == 65
  
      # Test for n_features > 30
      X, y = make_classification(
          n_samples=2000,
          n_features=31,
          n_informative=31,
          n_redundant=0,
          n_repeated=0,
          hypercube=True,
          scale=0.5,
          random_state=0,
      )
  
      X = X.to_numpy()
      assert X.shape == (2000, 31)
      assert y.shape == (2000,)
      assert (
          np.unique(X.view([("", X.dtype)] * X.shape[1]))
          .view(X.dtype)
          .reshape(-1, X.shape[1])
          .shape[0]
          == 2000
      )
  
file_path: mars/mars/learn/datasets/tests/test_samples_generator.py
imports: from functools import partial
  from collections import defaultdict
  import numpy
  from sklearn.utils._testing import assert_array_almost_equal, assert_raises, assert_almost_equal, assert_raise_message
  from ....None import tensor
  from ....tensor.linalg import svd
  from ..samples_generator import make_low_rank_matrix, make_classification, make_regression, make_blobs
label_desc: Use image node_id 1 for calling a global function with example usage: test_make_classification(setup) without return types