check_array#

sklearn.utils.check_array(array, 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_non_negative=False, ensure_2d=True, allow_nd=False, ensure_min_samples=1, ensure_min_features=1, estimator=None, input_name='')[原始碼]#

對陣列、列表、稀疏矩陣或類似項目的輸入進行驗證。

預設情況下,會檢查輸入是否為僅包含有限值的非空 2D 陣列。如果陣列的 dtype 是 object,則嘗試轉換為 float,如果失敗則引發錯誤。

參數:
arrayobject

要檢查/轉換的輸入物件。

accept_sparsestr、bool 或 str 的列表/元組,預設值為 False

表示允許的稀疏矩陣格式的字串,例如 'csc'、'csr' 等。如果輸入是稀疏的,但不是允許的格式,則會轉換為第一個列出的格式。True 允許輸入為任何格式。False 表示稀疏矩陣輸入會引發錯誤。

accept_large_sparsebool,預設值為 True

如果提供 CSR、CSC、COO 或 BSR 稀疏矩陣,並且 accept_sparse 接受,則 accept_large_sparse=False 只會在索引以 32 位元 dtype 儲存時接受它。

在 0.20 版中新增。

dtype‘numeric’、type、type 的列表或 None,預設值為 ‘numeric’

結果的資料類型。如果為 None,則會保留輸入的 dtype。如果為「numeric」,則除非 array.dtype 是 object,否則會保留 dtype。如果 dtype 是類型列表,則只有在輸入的 dtype 不在列表中時,才會對第一個類型執行轉換。

order{‘F’、‘C’} 或 None,預設值為 None

是否強制陣列為 fortran 或 c 樣式。當 order 為 None(預設值)時,如果 copy=False,則不保證輸出陣列的記憶體配置;否則(copy=True)返回陣列的記憶體配置會盡可能接近原始陣列。

copybool,預設值為 False

是否會觸發強制複製。如果 copy=False,則可能會因轉換而觸發複製。

force_writeablebool,預設值為 False

是否強制輸出陣列可寫入。如果為 True,則保證返回的陣列可寫入,這可能需要複製。否則,會保留輸入陣列的可寫入性。

在 1.6 版中新增。

force_all_finitebool 或 ‘allow-nan’,預設值為 True

是否在 array 中對 np.inf、np.nan、pd.NA 引發錯誤。可能的值為

  • True:強制 array 的所有值為有限值。

  • False:接受 array 中的 np.inf、np.nan、pd.NA。

  • ‘allow-nan’:僅接受 array 中的 np.nan 和 pd.NA 值。值不能是無限值。

在 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_finitebool 或 ‘allow-nan’,預設值為 True

是否在 array 中對 np.inf、np.nan、pd.NA 引發錯誤。可能的值為

  • True:強制 array 的所有值為有限值。

  • False:接受 array 中的 np.inf、np.nan、pd.NA。

  • ‘allow-nan’:僅接受 array 中的 np.nan 和 pd.NA 值。值不能是無限值。

在 1.6 版中新增:force_all_finite 已重新命名為 ensure_all_finite

ensure_non_negativebool,預設值為 False

確定陣列只有非負值。如果為 True,則包含負值的陣列會引發 ValueError。

在 1.6 版中新增。

ensure_2dbool,預設值為 True

如果陣列不是 2D,是否引發數值錯誤。

allow_ndbool,預設值為 False

是否允許 array.ndim > 2。

ensure_min_samplesint,預設值為 1

確定陣列在其第一個軸(2D 陣列的列)中具有最少的樣本數。設定為 0 會停用此檢查。

ensure_min_featuresint,預設值為 1

確定 2D 陣列具有一些最少的功能(欄)。預設值 1 會拒絕空資料集。只有在輸入資料實際上有 2 個維度或原本是 1D 且 ensure_2d 為 True 時,才會強制執行此檢查。設定為 0 會停用此檢查。

estimatorstr 或 estimator 實例,預設值為 None

如果傳遞,則在警告訊息中包含 estimator 的名稱。

input_namestr,預設值為 “"

用於建構錯誤訊息的資料名稱。特別是如果 input_name 為「X」,且資料具有 NaN 值,且 allow_nan 為 False,則錯誤訊息會連結到 imputer 文件。

在 1.1.0 版中新增。

返回:
array_convertedobject

轉換和驗證的陣列。

範例

>>> from sklearn.utils.validation import check_array
>>> X = [[1, 2, 3], [4, 5, 6]]
>>> X_checked = check_array(X)
>>> X_checked
array([[1, 2, 3], [4, 5, 6]])