code: def f_classif(X, y):
      """Compute the ANOVA F-value for the provided sample.
  
      Read more in the :ref:`User Guide <univariate_feature_selection>`.
  
      Parameters
      ----------
      X : {array-like, sparse matrix} of shape (n_samples, n_features)
          The set of regressors that will be tested sequentially.
  
      y : array-like of shape (n_samples,)
          The target vector.
  
      Returns
      -------
      f_statistic : ndarray of shape (n_features,)
          F-statistic for each feature.
  
      p_values : ndarray of shape (n_features,)
          P-values associated with the F-statistic.
  
      See Also
      --------
      chi2 : Chi-squared stats of non-negative features for classification tasks.
      f_regression : F-value between label/feature for regression tasks.
      """
      X, y = check_X_y(X, y, accept_sparse=["csr", "csc", "coo"])
      args = [X[safe_mask(X, y == k)] for k in np.unique(y)]
      return f_oneway(*args)
  
imports: import warnings
  from numbers import Integral, Real
  import numpy
  from scipy import special, stats
  from scipy.sparse import issparse
  from ..base import BaseEstimator, _fit_context
  from ..preprocessing import LabelBinarizer
  from ..utils import as_float_array, check_array, check_X_y, safe_mask, safe_sqr
  from ..utils._param_validation import Interval, StrOptions, validate_params
  from ..utils.extmath import row_norms, safe_sparse_dot
  from ..utils.validation import check_is_fitted
  from ._base import SelectorMixin
label_desc: Use image node_id 3 for calling a global function with example usage: f_classif(X, y) and returns: f_oneway