Normalizer#
- class sklearn.preprocessing.Normalizer(norm='l2', *, copy=True)[原始碼]#
將樣本個別正規化為單位範數。
每個至少有一個非零分量的樣本(即資料矩陣的每一列)會獨立於其他樣本重新縮放,使其範數(l1、l2 或 inf)等於 1。
此轉換器能夠處理密集 NumPy 陣列和 SciPy 稀疏矩陣(如果您想避免複製/轉換的負擔,請使用 CSR 格式)。
將輸入縮放到單位範數是文本分類或聚類等常見操作。 例如,兩個 l2 正規化的 TF-IDF 向量的點積是向量的餘弦相似度,並且是資訊檢索社群常用的向量空間模型的基本相似度量度。
有關範例視覺化,請參閱 比較 Normalizer 與其他縮放器。
在使用者指南中閱讀更多資訊。
- 參數:
- norm{‘l1’, ‘l2’, ‘max’}, default=’l2’
用於正規化每個非零樣本的範數。 如果使用 norm='max',則值將按絕對值的最大值重新縮放。
- copybool, default=True
設定為 False 以執行原地列正規化並避免複製 (如果輸入已經是 NumPy 陣列或 SciPy 稀疏 CSR 矩陣)。
- 屬性:
另請參閱
正規化
不含估算器 API 的等效函數。
註解
此估算器是無狀態的,不需要擬合。 但是,我們建議呼叫
fit_transform
而不是transform
,因為參數驗證僅在fit
中執行。範例
>>> from sklearn.preprocessing import Normalizer >>> X = [[4, 1, 2, 2], ... [1, 3, 9, 3], ... [5, 7, 5, 1]] >>> transformer = Normalizer().fit(X) # fit does nothing. >>> transformer Normalizer() >>> transformer.transform(X) array([[0.8, 0.2, 0.4, 0.4], [0.1, 0.3, 0.9, 0.3], [0.5, 0.7, 0.5, 0.1]])
- fit(X, y=None)[原始碼]#
僅驗證估算器的參數。
此方法允許:(i) 驗證估算器的參數,以及 (ii) 與 scikit-learn 轉換器 API 保持一致。
- 參數:
- X形狀為 (n_samples, n_features) 的 {array-like, 稀疏矩陣}
用於估計正規化參數的資料。
- y已忽略
不使用,在此處出現是為了符合 API 慣例。
- 返回:
- self物件
已擬合的轉換器。
- 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,default=None
目標值(無監督轉換為 None)。
- **fit_paramsdict
其他擬合參數。
- 返回:
- X_new形狀為 (n_samples, n_features_new) 的 ndarray 陣列
轉換後的陣列。
- get_feature_names_out(input_features=None)[原始碼]#
取得轉換的輸出特徵名稱。
- 參數:
- input_features字串或 None 的 array-like,default=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_outndarray of str 物件
與輸入特徵相同。
- 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$') Normalizer [原始碼]#
請求傳遞給
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
參數的中繼資料路由。
- 返回:
- self物件
更新後的物件。