s.
    The possibilities are:

    - True: Force all values of X to be finite.
    - False: accepts np.inf, np.nan, pd.NA in X.
    - 'allow-nan': accepts only np.nan or pd.NA values in X. Values cannot
      be infinite.

    .. versionadded:: 1.6
       `force_all_finite` was renamed to `ensure_all_finite`.

ensure_2d : bool, default=True
    Whether to raise a value error if X is not 2D.

allow_nd : bool, default=False
    Whether to allow X.ndim > 2.

multi_output : bool, default=False
    Whether to allow 2D y (array or sparse matrix). If false, y will be
    validated as a vector. y cannot have np.nan or np.inf values if
    multi_output=True.

ensure_min_samples : int, default=1
    Make sure that X has a minimum number of samples in its first
    axis (rows for a 2D array).

ensure_min_features : int, default=1
    Make sure that the 2D array has some minimum number of features
    (columns). The default value of 1 rejects empty datasets.
    This check is only enforced when X has effectively 2 dimensions or
    is originally 1D and ``ensure_2d`` is True. Setting to 0 disables
    this check.

y_numeric : bool, default=False
    Whether to ensure that y has a numeric type. If dtype of y is object,
    it is converted to float64. Should only be used for regression
    algorithms.

estimator : str or estimator instance, default=None
    If passed, include the name of the estimator in warning messages.

Returns
-------
X_converted : object
    The converted and validated X.

y_converted : object
    The converted and validated y.

Examples
--------
>>> from sklearn.utils.validation import check_X_y
>>> X = [[1, 2], [3, 4], [5, 6]]
>>> y = [1, 2, 3]
>>> X, y = check_X_y(X, y)
>>> X
array([[1, 2],
      [3, 4],
      [5, 6]])
>>> y
array([1, 2, 3])
r