二值化器#
- class sklearn.preprocessing.Binarizer(*, threshold=0.0, copy=True)[原始碼]#
根據閾值將資料二值化(將特徵值設定為 0 或 1)。
大於閾值的值對應到 1,而小於或等於閾值的值對應到 0。使用預設閾值 0,只有正值對應到 1。
二值化是文本計數資料的常見操作,分析師可以決定只考慮特徵是否存在,而不是量化的出現次數。
它也可以用作考慮布林隨機變數的估計器的預處理步驟(例如,在貝氏設定中使用白努利分佈建模)。
請在使用者指南中閱讀更多內容。
- 參數:
- thresholdfloat,預設值為 0.0
小於或等於此值的特徵值將被 0 取代,大於此值的則被 1 取代。對稀疏矩陣操作時,閾值不得小於 0。
- copybool,預設值為 True
設定為 False 以執行原地二值化並避免複製(如果輸入已經是 numpy 陣列或 scipy.sparse CSR 矩陣)。
- 屬性:
另請參閱
二值化 (binarize)
不使用估計器 API 的等效函式。
KBinsDiscretizer
將連續資料放入間隔中。
OneHotEncoder
將類別特徵編碼為單熱數值陣列。
注意事項
如果輸入是稀疏矩陣,則只有非零值會受到
Binarizer
類別的更新。此估計器是無狀態的,因此不需要擬合。但是,我們建議呼叫
fit_transform
而不是transform
,因為參數驗證僅在fit
中執行。範例
>>> from sklearn.preprocessing import Binarizer >>> X = [[ 1., -1., 2.], ... [ 2., 0., 0.], ... [ 0., 1., -1.]] >>> transformer = Binarizer().fit(X) # fit does nothing. >>> transformer Binarizer() >>> transformer.transform(X) array([[1., 0., 1.], [1., 0., 0.], [0., 1., 0.]])
- fit(X, y=None)[原始碼]#
僅驗證估計器的參數。
此方法允許:(i)驗證估計器的參數和(ii)與 scikit-learn 轉換器 API 一致。
- 參數:
- X形狀為 (n_samples, n_features) 的 {array-like, sparse matrix}
資料。
- yNone
忽略。
- 傳回值:
- selfobject
已擬合的轉換器。
- fit_transform(X, y=None, **fit_params)[原始碼]#
擬合資料,然後轉換資料。
使用可選參數
fit_params
將轉換器擬合到X
和y
,並傳回X
的轉換版本。- 參數:
- X形狀為 (n_samples, n_features) 的 array-like
輸入樣本。
- y形狀為 (n_samples,) 或 (n_samples, n_outputs) 的 array-like,預設值為 None
目標值(無監督轉換為 None)。
- **fit_paramsdict
其他擬合參數。
- 傳回值:
- X_new形狀為 (n_samples, n_features_new) 的 ndarray 陣列
轉換後的陣列。
- get_feature_names_out(input_features=None)[原始碼]#
取得轉換的輸出特徵名稱。
- 參數:
- input_featuresstr 或 None 的 array-like,預設值為 None
輸入特徵。
如果
input_features
為None
,則feature_names_in_
用作輸入特徵名稱。如果feature_names_in_
未定義,則會產生下列輸入特徵名稱:["x0", "x1", ..., "x(n_features_in_ - 1)"]
。如果
input_features
是 array-like,則如果feature_names_in_
已定義,則input_features
必須與feature_names_in_
相符。
- 傳回值:
- feature_names_outstr 物件的 ndarray
與輸入特徵相同。
- get_metadata_routing()[原始碼]#
取得此物件的中繼資料路由。
請檢查使用者指南以了解路由機制如何運作。
- 傳回值:
- routingMetadataRequest
封裝路由資訊的
MetadataRequest
。
- get_params(deep=True)[原始碼]#
取得此估計器的參數。
- 參數:
- deepbool,預設值為 True
如果為 True,將傳回此估計器和包含的子物件(估計器)的參數。
- 傳回值:
- paramsdict
對應到其值的參數名稱。
- set_output(*, transform=None)[原始碼]#
設定輸出容器。
請參閱介紹 set_output API以取得如何使用 API 的範例。
- 參數:
- transform{"default", "pandas", "polars"},預設值為 None
設定
transform
和fit_transform
的輸出。"default"
:轉換器的預設輸出格式"pandas"
:DataFrame 輸出"polars"
:Polars 輸出None
:轉換設定保持不變
於 1.4 版本新增:新增
"polars"
選項。
- 傳回值:
- self估算器實例
估算器實例。
- set_params(**params)[原始碼]#
設定此估算器的參數。
此方法適用於簡單的估算器以及巢狀物件(例如
Pipeline
)。後者具有<component>__<parameter>
形式的參數,因此可以更新巢狀物件的每個組件。- 參數:
- **paramsdict
估算器參數。
- 傳回值:
- self估算器實例
估算器實例。
- set_transform_request(*, copy: bool | None | str = '$UNCHANGED$') Binarizer [原始碼]#
請求傳遞至
transform
方法的中繼資料。請注意,此方法僅在
enable_metadata_routing=True
時相關(請參閱sklearn.set_config
)。請參閱關於路由機制如何運作的 使用者指南。每個參數的選項為:
True
:請求中繼資料,並在提供時傳遞至transform
。如果未提供中繼資料,則會忽略該請求。False
:不請求中繼資料,且元估算器不會將其傳遞至transform
。None
:不請求中繼資料,如果使用者提供中繼資料,元估算器將會引發錯誤。str
:中繼資料應該使用此給定的別名而不是原始名稱傳遞至元估算器。
預設值(
sklearn.utils.metadata_routing.UNCHANGED
)會保留現有的請求。這讓您可以變更某些參數的請求,而其他參數則不變更。於 1.3 版本新增。
注意
此方法僅在此估算器用作元估算器的子估算器時才相關,例如在
Pipeline
內部使用。否則,它沒有任何作用。- 參數:
- copystr、True、False 或 None,預設值 = sklearn.utils.metadata_routing.UNCHANGED
在
transform
中,針對copy
參數的中繼資料路由。
- 傳回值:
- selfobject
更新後的物件。