code: def test_polynomial_features_csc_X(
      deg, include_bias, interaction_only, dtype, csc_container
  ):
      rng = np.random.RandomState(0)
      X = rng.randint(0, 2, (100, 2))
      X_csc = csc_container(X)
  
      est = PolynomialFeatures(
          deg,
          include_bias=include_bias,
          interaction_only=interaction_only,
      )
      Xt_csc = est.fit_transform(X_csc.astype(dtype))
      Xt_dense = est.fit_transform(X.astype(dtype))
  
      assert sparse.issparse(Xt_csc) and Xt_csc.format == "csc"
      assert Xt_csc.dtype == Xt_dense.dtype
      assert_array_almost_equal(Xt_csc.toarray(), Xt_dense)
  
imports: import sys
  import numpy
  import pytest
  from numpy.testing import assert_allclose, assert_array_equal
  from scipy import sparse
  from scipy.interpolate import BSpline
  from scipy.sparse import random
  from sklearn.linear_model import LinearRegression
  from sklearn.pipeline import Pipeline
  from sklearn.preprocessing import KBinsDiscretizer, PolynomialFeatures, SplineTransformer
  from sklearn.preprocessing._csr_polynomial_expansion import _calc_expanded_nnz, _calc_total_nnz, _get_sizeof_LARGEST_INT_t
  from sklearn.utils._testing import assert_array_almost_equal
  from sklearn.utils.fixes import CSC_CONTAINERS, CSR_CONTAINERS, parse_version, sp_version
label_desc: Use image node_id 24 for calling a global function with example usage: test_polynomial_features_csc_X(deg, include_bias, interaction_only, dtype, csc_container) without return types