check_X_y
- sklearn.utils.check_X_y(X, y, accept_sparse=False, *, accept_large_sparse=True, dtype='numeric', order=None, copy=False, force_writeable=False, force_all_finite='deprecated', ensure_all_finite=None, ensure_2d=True, allow_nd=False, multi_output=False, ensure_min_samples=1, ensure_min_features=1, y_numeric=False, estimator=None)[source]
-
Валидация входных данных для стандартных оценщиков.
Проверяет X и y на согласованную длину, принудительно делает X двумерным, а y одномерным. По умолчанию X проверяется на непустоту и содержит только конечные значения. Стандартные проверки входных данных также применяются к y, например, проверка отсутствия в y значений np.nan или np.inf. Для многомерного y установите multi_output=True, чтобы разрешить двумерное и разреженное y. Если тип данных X — object, попытаться преобразовать в float, при ошибке выбросить исключение.
- Параметры:
-
- X{ndarray, список, разреженная матрица}
-
Входные данные.
- y{ndarray, список, разреженная матрица}
-
Метки.
- accept_sparseстрока, булево значение или список строк, по умолчанию False
-
Строка[и], представляющая разрешенные форматы разреженных матриц, такие как ‘csc’, ‘csr’ и т. д. Если вход является разреженным, но не в разрешенном формате, он будет преобразован в первый перечисленный формат. True допускает любой формат. False означает, что разреженная матрица-вход приведет к ошибке.
- accept_large_sparseбулево значение, по умолчанию True
-
Если подается разреженная матрица CSR, CSC, COO или BSR и она принимается accept_sparse, accept_large_sparse заставит ее быть принятой только в том случае, если ее индексы хранятся с типом данных 32 бита.
Добавлена в версии 0.20.
- dtype‘numeric’, тип, список типов или None, по умолчанию ‘numeric’
-
Тип данных результата. Если None, тип данных входных данных сохраняется. Если “numeric”, тип данных сохраняется, за исключением случая, когда array.dtype — object. Если dtype — список типов, преобразование к первому типу выполняется только в том случае, если тип данных входных данных не входит в список.
- order{‘F’, ‘C’}, по умолчанию None
-
Определяет, будет ли массив принудительно форматироваться как Fortran или C. Если
None, то порядок входных данных сохраняется при возможности. - copyбулево значение, по умолчанию False
-
Определяет, будет ли вызвано принудительное копирование. Если copy=False, копирование может быть вызвано преобразованием.
- force_writeableбулево значение, по умолчанию False
-
Определяет, нужно ли принудительно сделать выходной массив доступным для записи. Если True, возвращаемый массив гарантированно будет доступным для записи, что может потребовать копирования. В противном случае сохраняется возможность записи входного массива.
Добавлена в версии 1.6.
- force_all_finiteбулево значение или ‘allow-nan’, по умолчанию True
-
Определяет, нужно ли поднимать ошибку при np.inf, np.nan, pd.NA в массиве. Этот параметр не влияет на то, может ли y иметь значения np.inf, np.nan, pd.NA. Возможные варианты:
- True: Принудительно сделать все значения X конечными.
- False: принимает np.inf, np.nan, pd.NA в X.
- ‘allow-nan’: принимает только значения np.nan или pd.NA в X. Значения не могут быть бесконечными.
Добавлена в версии 0.20:
force_all_finiteпринимает строку'allow-nan'.Изменено в версии 0.23: Принимает
pd.NAи преобразует его вnp.nanУстарело начиная с версии 1.6:
force_all_finiteбыло переименовано вensure_all_finiteи будет удалено в 1.8. - ensure_all_finiteбулево значение или ‘allow-nan’, по умолчанию True
-
Определяет, нужно ли поднимать ошибку при np.inf, np.nan, pd.NA в массиве. Этот параметр не влияет на то, может ли y иметь значения np.inf, np.nan, pd.NA. Возможные варианты:
- True: Принудительно сделать все значения X конечными.
- False: принимает np.inf, np.nan, pd.NA в X.
- ‘allow-nan’: принимает только значения np.nan или pd.NA в X. Значения не могут быть бесконечными.
Добавлена в версии 1.6:
force_all_finiteбыло переименовано вensure_all_finite. - ensure_2dбулево значение, по умолчанию True
-
Определяет, нужно ли выводить ошибку, если X не является двумерным.
- allow_ndбулево значение, по умолчанию False
-
Определяет, разрешено ли X.ndim > 2.
- multi_outputбулево значение, по умолчанию False
-
Определяет, разрешено ли двумерное y (массив или разреженная матрица). Если false, y будет валидировано как вектор. y не может иметь значения np.nan или np.inf, если multi_output=True.
- ensure_min_samplesцелое число, по умолчанию 1
-
Обеспечивает, что X имеет минимальное количество образцов в своей первой оси (строки для двумерного массива).
- ensure_min_featuresцелое число, по умолчанию 1
-
Обеспечивает, что двумерный массив имеет определенное минимальное количество признаков (колонок). Значение по умолчанию 1 отклоняет пустые наборы данных. Эта проверка выполняется только тогда, когда X имеет эффективно 2 измерения или изначально является одномерным и
ensure_2dравно True. Установка в 0 отключает эту проверку. - y_numericбулево значение, по умолчанию False
-
Определяет, нужно ли гарантировать, что y имеет числовой тип. Если тип данных y — object, он преобразуется в float64. Должно использоваться только для алгоритмов регрессии.
- estimatorстрока или экземпляр оценщика, по умолчанию None
-
Если передано, включите имя оценщика в сообщения об ошибках.
- Возвращает:
-
- X_convertedобъект
-
Преобразованный и валидированный X.
- y_convertedобъект
-
Преобразованный и валидированный y.
Примеры
>>> 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])
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.utils.check_X_y.html