class_docstr: Imputation transformer for completing missing values.
  
  Parameters
  ----------
  missing_values : number, string, np.nan (default) or None
      The placeholder for the missing values. All occurrences of
      `missing_values` will be imputed. For pandas' dataframes with
      nullable integer dtypes with missing values, `missing_values`
      should be set to `np.nan`, since `pd.NA` will be converted to `np.nan`.
  
  strategy : string, default='mean'
      The imputation strategy.
  
      - If "mean", then replace missing values using the mean along
        each column. Can only be used with numeric data.
      - If "median", then replace missing values using the median along
        each column. Can only be used with numeric data.
      - If "most_frequent", then replace missing using the most frequent
        value along each column. Can be used with strings or numeric data.
      - If "constant", then replace missing values with fill_value. Can be
        used with strings or numeric data.
  
      strategy="constant" for fixed value imputation.
  
  fill_value : string or numerical value, default=None
      When strategy == "constant", fill_value is used to replace all
      occurrences of missing_values.
      If left to the default, fill_value will be 0 when imputing numerical
      data and "missing_value" for strings or object data types.
  
  verbose : integer, default=0
      Controls the verbosity of the imputer.
  
  copy : boolean, default=True
      If True, a copy of X will be created. If False, imputation will
      be done in-place whenever possible. Note that, in the following cases,
      a new copy will always be made, even if `copy=False`:
  
      - If X is not an array of floating values;
      - If X is encoded as a CSR matrix;
      - If add_indicator=True.
  
  add_indicator : boolean, default=False
      If True, a :class:`MissingIndicator` transform will stack onto output
      of the imputer's transform. This allows a predictive estimator
      to account for missingness despite imputation. If a feature has no
      missing values at fit/train time, the feature won't appear on
      the missing indicator even if there are missing values at
      transform/test time.
  
  Attributes
  ----------
  statistics_ : array of shape (n_features,)
      The imputation fill value for each feature.
      Computing statistics can result in `np.nan` values.
      During :meth:`transform`, features corresponding to `np.nan`
      statistics will be discarded.
  
  See also
  --------
  IterativeImputer : Multivariate imputation of missing values.
  
  Examples
  --------
  >>> import cupy as cp
  >>> from cuml.preprocessing import SimpleImputer
  >>> imp_mean = SimpleImputer(missing_values=cp.nan, strategy='mean')
  >>> imp_mean.fit(cp.asarray([[7, 2, 3], [4, cp.nan, 6], [10, 5, 9]]))
  SimpleImputer()
  >>> X = [[cp.nan, 2, 3], [4, cp.nan, 6], [10, cp.nan, 9]]
  >>> print(imp_mean.transform(cp.asarray(X)))
  [[ 7.   2.   3. ]
   [ 4.   3.5  6. ]
   [10.   3.5  9. ]]
  
  Notes
  -----
  Columns which only contained missing values at :meth:`fit` are discarded
  upon :meth:`transform` if strategy is not "constant".
class_docstr_tok: ["Imputation","transformer","for","completing","missing","values",".","Parameters","--","--","--","--","--","missing_values",":","number",",","string",",","np.nan","(","default",")","or","None","The","placeholder","for","the","missing","values",".","All","occurrences","of","`","missing_values","`","will","be","imputed",".","For","pandas","'","dataframes","with","nullable","integer","dtypes","with","missing","values",",","`","missing_values","`","should","be","set","to","`","np.nan","`",",","since","`","pd.NA","`","will","be","converted","to","`","np.nan","`",".","strategy",":","string",",","default='mean'","The","imputation","strategy",".","-","If","``","mean","''",",","then","replace","missing","values","using","the","mean","along","each","column",".","Can","only","be","used","with","numeric","data",".","-","If","``","median","''",",","then","replace","missing","values","using","the","median","along","each","column",".","Can","only","be","used","with","numeric","data",".","-","If","``","most_frequent","''",",","then","replace","missing","using","the","most","frequent","value","along","each","column",".","Can","be","used","with","strings","or","numeric","data",".","-","If","``","constant","''",",","then","replace","missing","values","with","fill_value",".","Can","be","used","with","strings","or","numeric","data",".","strategy=","''","constant","''","for","fixed","value","imputation",".","fill_value",":","string","or","numerical","value",",","default=None","When","strategy","==","``","constant","''",",","fill_value","is","used","to","replace","all","occurrences","of","missing_values",".","If","left","to","the","default",",","fill_value","will","be","0","when","imputing","numerical","data","and","``","missing_value","''","for","strings","or","object","data","types",".","verbose",":","integer",",","default=0","Controls","the","verbosity","of","the","imputer",".","copy",":","boolean",",","default=True","If","True",",","a","copy","of","X","will","be","created",".","If","False",",","imputation","will","be","done","in-place","whenever","possible",".","Note","that",",","in","the","following","cases",",","a","new","copy","will","always","be","made",",","even","if","`","copy=False","`",":","-","If","X","is","not","an","array","of","floating","values",";","-","If","X","is","encoded","as","a","CSR","matrix",";","-","If","add_indicator=True",".","add_indicator",":","boolean",",","default=False","If","True",",","a",":","class",":","`","MissingIndicator","`","transform","will","stack","onto","output","of","the","imputer","'s","transform",".","This","allows","a","predictive","estimator","to","account","for","missingness","despite","imputation",".","If","a","feature","has","no","missing","values","at","fit\/train","time",",","the","feature","wo","n't","appear","on","the","missing","indicator","even","if","there","are","missing","values","at","transform\/test","time",".","Attributes","--","--","--","--","--","statistics_",":","array","of","shape","(","n_features",",",")","The","imputation","fill","value","for","each","feature",".","Computing","statistics","can","result","in","`","np.nan","`","values",".","During",":","meth",":","`","transform","`",",","features","corresponding","to","`","np.nan","`","statistics","will","be","discarded",".","See","also","--","--","--","--","IterativeImputer",":","Multivariate","imputation","of","missing","values",".","Examples","--","--","--","--",">",">",">","import","cupy","as","cp",">",">",">","from","cuml.preprocessing","import","SimpleImputer",">",">",">","imp_mean","=","SimpleImputer","(","missing_values=cp.nan",",","strategy='mean","'",")",">",">",">","imp_mean.fit","(","cp.asarray","(","[","[","7",",","2",",","3","]",",","[","4",",","cp.nan",",","6","]",",","[","10",",","5",",","9","]","]",")",")","SimpleImputer","(",")",">",">",">","X","=","[","[","cp.nan",",","2",",","3","]",",","[","4",",","cp.nan",",","6","]",",","[","10",",","cp.nan",",","9","]","]",">",">",">","print","(","imp_mean.transform","(","cp.asarray","(","X",")",")",")","[","[","7",".","2",".","3",".","]","[","4",".","3.5","6",".","]","[","10",".","3.5","9",".","]","]","Notes","--","--","-","Columns","which","only","contained","missing","values","at",":","meth",":","`","fit","`","are","discarded","upon",":","meth",":","`","transform","`","if","strategy","is","not","``","constant","''","."]
code: def get_param_names(self):
      return super().get_param_names() + [
          "strategy",
          "fill_value",
          "verbose",
          "copy",
      ]
  
imports: from ....internals import _deprecate_pos_args
  from ....common.array_descriptor import CumlArrayDescriptor
  from ....internals.array_sparse import SparseCumlArray
  from ..utils.validation import FLOAT_DTYPES
  from ..utils.validation import check_is_fitted
  from cuml.internals.mixins import AllowNaNTagMixin, SparseInputTagMixin, StringInputTagMixin
  from ..utils.skl_dependencies import BaseEstimator, TransformerMixin
  from ....thirdparty_adapters import _get_mask, _masked_column_median, _masked_column_mean, _masked_column_mode
  from cuml.internals.safe_imports import gpu_only_import_from
  import cuml
  from cuml.internals.safe_imports import gpu_only_import
  import numbers
  import warnings
  from cuml.internals.safe_imports import cpu_only_import
label_desc: Use image node_id 2 for calling the SimpleImputer obj's underlying member method code with example usage: obj.get_param_names() and returns: unknown