class_docstr: Select features according to a percentile of the highest scores.
  
  Read more in the :ref:`User Guide <univariate_feature_selection>`.
  
  Parameters
  ----------
  score_func : callable, default=f_classif
      Function taking two arrays X and y, and returning a pair of arrays
      (scores, pvalues) or a single array with scores.
      Default is f_classif (see below "See Also"). The default function only
      works with classification tasks.
  
      .. versionadded:: 0.18
  
  percentile : int, default=10
      Percent of features to keep.
  
  Attributes
  ----------
  scores_ : array-like of shape (n_features,)
      Scores of features.
  
  pvalues_ : array-like of shape (n_features,)
      p-values of feature scores, None if `score_func` returned only scores.
  
  n_features_in_ : int
      Number of features seen during :term:`fit`.
  
      .. versionadded:: 0.24
  
  feature_names_in_ : ndarray of shape (`n_features_in_`,)
      Names of features seen during :term:`fit`. Defined only when `X`
      has feature names that are all strings.
  
      .. versionadded:: 1.0
  
  See Also
  --------
  f_classif : ANOVA F-value between label/feature for classification tasks.
  mutual_info_classif : Mutual information for a discrete target.
  chi2 : Chi-squared stats of non-negative features for classification tasks.
  f_regression : F-value between label/feature for regression tasks.
  mutual_info_regression : Mutual information for a continuous target.
  SelectKBest : Select features based on the k highest scores.
  SelectFpr : Select features based on a false positive rate test.
  SelectFdr : Select features based on an estimated false discovery rate.
  SelectFwe : Select features based on family-wise error rate.
  GenericUnivariateSelect : Univariate feature selector with configurable
      mode.
  
  Notes
  -----
  Ties between features with equal scores will be broken in an unspecified
  way.
  
  Examples
  --------
  >>> from sklearn.datasets import load_digits
  >>> from sklearn.feature_selection import SelectPercentile, chi2
  >>> X, y = load_digits(return_X_y=True)
  >>> X.shape
  (1797, 64)
  >>> X_new = SelectPercentile(chi2, percentile=10).fit_transform(X, y)
  >>> X_new.shape
  (1797, 7)
class_docstr_tok: ["Select","features","according","to","a","percentile","of","the","highest","scores",".","Read","more","in","the",":","ref",":","`","User","Guide","<","univariate_feature_selection",">","`",".","Parameters","--","--","--","--","--","score_func",":","callable",",","default=f_classif","Function","taking","two","arrays","X","and","y",",","and","returning","a","pair","of","arrays","(","scores",",","pvalues",")","or","a","single","array","with","scores",".","Default","is","f_classif","(","see","below","``","See","Also","''",")",".","The","default","function","only","works","with","classification","tasks",".","..","versionadded",":",":","0.18","percentile",":","int",",","default=10","Percent","of","features","to","keep",".","Attributes","--","--","--","--","--","scores_",":","array-like","of","shape","(","n_features",",",")","Scores","of","features",".","pvalues_",":","array-like","of","shape","(","n_features",",",")","p-values","of","feature","scores",",","None","if","`","score_func","`","returned","only","scores",".","n_features_in_",":","int","Number","of","features","seen","during",":","term",":","`","fit","`",".","..","versionadded",":",":","0.24","feature_names_in_",":","ndarray","of","shape","(","`","n_features_in_","`",",",")","Names","of","features","seen","during",":","term",":","`","fit","`",".","Defined","only","when","`","X","`","has","feature","names","that","are","all","strings",".","..","versionadded",":",":","1.0","See","Also","--","--","--","--","f_classif",":","ANOVA","F-value","between","label\/feature","for","classification","tasks",".","mutual_info_classif",":","Mutual","information","for","a","discrete","target",".","chi2",":","Chi-squared","stats","of","non-negative","features","for","classification","tasks",".","f_regression",":","F-value","between","label\/feature","for","regression","tasks",".","mutual_info_regression",":","Mutual","information","for","a","continuous","target",".","SelectKBest",":","Select","features","based","on","the","k","highest","scores",".","SelectFpr",":","Select","features","based","on","a","false","positive","rate","test",".","SelectFdr",":","Select","features","based","on","an","estimated","false","discovery","rate",".","SelectFwe",":","Select","features","based","on","family-wise","error","rate",".","GenericUnivariateSelect",":","Univariate","feature","selector","with","configurable","mode",".","Notes","--","--","-","Ties","between","features","with","equal","scores","will","be","broken","in","an","unspecified","way",".","Examples","--","--","--","--",">",">",">","from","sklearn.datasets","import","load_digits",">",">",">","from","sklearn.feature_selection","import","SelectPercentile",",","chi2",">",">",">","X",",","y","=","load_digits","(","return_X_y=True",")",">",">",">","X.shape","(","1797",",","64",")",">",">",">","X_new","=","SelectPercentile","(","chi2",",","percentile=10",")",".fit_transform","(","X",",","y",")",">",">",">","X_new.shape","(","1797",",","7",")"]
code: def __init__(self, score_func=f_classif, *, percentile=10):
      super().__init__(score_func=score_func)
      self.percentile = percentile
  
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 1 to create a new SelectPercentile object from inherited base classes: _BaseFilter with example: obj = SelectPercentile(score_func)