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]])