check_X_y#

sklearn.utils.check_X_y(X, y, accept_sparse=False, *, accept_large_sparse=True, dtype='numeric', порядок=None, copy=False, force_writeable=False, ensure_all_finite=True, ensure_2d=True, allow_nd=False, multi_output=False, ensure_min_samples=1, ensure_min_features=1, y_numeric=False, estimator=None)[источник]#

Проверка входных данных для стандартных оценщиков.

Проверяет X и y на согласованную длину, обеспечивает, чтобы X был двумерным, а y - одномерным. По умолчанию X проверяется на непустоту и наличие только конечных значений. Стандартные проверки входных данных также применяются к y, такие как проверка, что y не содержит целей np.nan или np.inf. Для многометочного y установите multi_output=True, чтобы разрешить двумерный и разреженный y. Если тип данных X - object, предпринимается попытка преобразования в float с выдачей ошибки при неудаче.

Параметры:
X{ndarray, list, sparse matrix}

Входные данные.

y{ndarray, list, sparse matrix}

Метки.

accept_sparsestr, bool или list of str, по умолчанию=False

Строка[и], представляющие разрешенные форматы разреженных матриц, такие как 'csc', 'csr' и т.д. Если входные данные разрежены, но не в разрешенном формате, они будут преобразованы в первый указанный формат. True разрешает входные данные в любом формате. False означает, что входные данные в виде разреженной матрицы вызовут ошибку.

accept_large_sparsebool, по умолчанию=True

Если предоставлена разреженная матрица CSR, CSC, COO или BSR и она принимается accept_sparse, accept_large_sparse приведет к ее принятию только если ее индексы хранятся с 32-битным типом данных.

Добавлено в версии 0.20.

dtype'numeric', тип, список типов или None, по умолчанию='numeric'

Тип данных результата. Если None, сохраняется тип данных входных данных. Если "numeric", тип данных сохраняется, если только array.dtype не является object. Если dtype — это список типов, преобразование к первому типу выполняется только если тип входных данных не входит в список.

порядок{‘F’, ‘C’}, по умолчанию=None

Будет ли массив принудительно преобразован в фортран- или c-стиль. Если None, тогда порядок входных данных сохраняется, когда это возможно.

copybool, по умолчанию=False

Будет ли вызвано принудительное копирование. Если copy=False, копирование может быть вызвано преобразованием.

force_writeablebool, по умолчанию=False

Следует ли принудительно делать выходной массив доступным для записи. Если True, возвращаемый массив гарантированно доступен для записи, что может потребовать копирования. В противном случае сохраняется возможность записи входного массива.

Добавлено в версии 1.6.

ensure_all_finitebool или '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_2dbool, по умолчанию=True

Вызывать ли ошибку значения, если X не является двумерным.

allow_ndbool, по умолчанию=False

Разрешать ли X.ndim > 2.

multi_outputbool, по умолчанию=False

Разрешать ли 2D y (массив или разреженная матрица). Если false, y будет проверяться как вектор. y не может содержать значения np.nan или np.inf, если multi_output=True.

ensure_min_samplesint, по умолчанию=1

Убедитесь, что X имеет минимальное количество образцов по своей первой оси (строк для 2D массива).

ensure_min_featuresint, по умолчанию=1

Убедитесь, что 2D-массив имеет минимальное количество признаков (столбцов). Значение по умолчанию 1 отклоняет пустые наборы данных. Эта проверка применяется только когда X фактически имеет 2 измерения или изначально 1D и ensure_2d равно True. Установка в 0 отключает эту проверку.

y_numericbool, по умолчанию=False

Следует ли гарантировать, что y имеет числовой тип. Если тип данных y - object, он преобразуется в float64. Следует использовать только для алгоритмов регрессии.

estimatorstr или экземпляр оценщика, по умолчанию=None

Если передано, включает имя оценщика в предупреждающие сообщения.

Возвращает:
X_convertedobject

Преобразованный и проверенный X.

y_convertedobject

Преобразованный и проверенный 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])