RBFSampler#
- class sklearn.kernel_approximation.RBFSampler(*, gamma=1.0, n_components=100, random_state=None)[原始碼]#
使用隨機傅立葉特徵逼近 RBF 核函數特徵映射。
它實現了隨機廚房水槽的變體。[1]
在使用者指南中閱讀更多內容。
- 參數:
- gamma‘scale’ 或浮點數,預設值=1.0
RBF 核函數的參數:exp(-gamma * x^2)。如果傳遞
gamma='scale'
,則將 1 / (n_features * X.var()) 作為 gamma 的值。在 1.2 版本中新增: 選項
"scale"
已在 1.2 版本中新增。- n_components整數,預設值=100
每個原始特徵的蒙地卡羅樣本數。等於計算出的特徵空間的維度。
- random_state整數、RandomState 實例或 None,預設值=None
用於控制擬合訓練數據時隨機權重和隨機偏移的產生的虛擬隨機數生成器。傳遞一個整數以在多個函數呼叫中獲得可重複的輸出。請參閱詞彙表。
- 屬性:
- random_offset_形狀為 (n_components,) 的 ndarray,dtype={np.float64, np.float32}
用於在特徵空間的
n_components
維度中計算投影的隨機偏移。- random_weights_形狀為 (n_features, n_components) 的 ndarray,dtype={np.float64, np.float32}
從 RBF 核函數的傅立葉變換中提取的隨機投影方向。
- n_features_in_整數
在fit期間看到的特徵數量。
在 0.24 版本中新增。
- feature_names_in_形狀為 (
n_features_in_
,) 的 ndarray 在 fit 期間看到的特徵名稱。僅在
X
具有全為字串的特徵名稱時定義。在 1.0 版本中新增。
另請參閱
AdditiveChi2Sampler
加法卡方核函數的近似特徵映射。
Nystroem
使用訓練數據的子集近似核心映射。
PolynomialCountSketch
通過張量草圖進行多項式核函數近似。
SkewedChi2Sampler
“偏斜卡方”核函數的近似特徵映射。
sklearn.metrics.pairwise.kernel_metrics
內建核心的列表。
注意
請參閱 A. Rahimi 和 Benjamin Recht 的 “大規模核函數機器的隨機特徵”。
[1] A. Rahimi 和 Benjamin Recht 的 “隨機廚房水槽的加權總和:在學習中用隨機化代替最小化”。 (https://people.eecs.berkeley.edu/~brecht/papers/08.rah.rec.nips.pdf)
範例
>>> from sklearn.kernel_approximation import RBFSampler >>> from sklearn.linear_model import SGDClassifier >>> X = [[0, 0], [1, 1], [1, 0], [0, 1]] >>> y = [0, 0, 1, 1] >>> rbf_feature = RBFSampler(gamma=1, random_state=1) >>> X_features = rbf_feature.fit_transform(X) >>> clf = SGDClassifier(max_iter=5, tol=1e-3) >>> clf.fit(X_features, y) SGDClassifier(max_iter=5) >>> clf.score(X_features, y) 1.0
- fit(X, y=None)[原始碼]#
使用 X 擬合模型。
根據 n_features 採樣隨機投影。
- 參數:
- X{類陣列、稀疏矩陣},形狀為 (n_samples, n_features)
訓練數據,其中
n_samples
是樣本數,而n_features
是特徵數。- y類陣列,形狀為 (n_samples,) 或 (n_samples, n_outputs),預設值=None
目標值(對於無監督轉換,則為 None)。
- 返回:
- self物件
返回實例本身。
- fit_transform(X, y=None, **fit_params)[原始碼]#
擬合數據,然後轉換數據。
使用可選參數
fit_params
將轉換器擬合到X
和y
,並返回轉換後的X
版本。- 參數:
- X形狀為 (n_samples, n_features) 的類陣列
輸入樣本。
- y形狀為 (n_samples,) 或 (n_samples, n_outputs) 的類陣列,預設值=None
目標值(對於無監督轉換,則為 None)。
- **fit_paramsdict
其他擬合參數。
- 返回:
- X_new形狀為 (n_samples, n_features_new) 的 ndarray 陣列
轉換後的陣列。
- get_feature_names_out(input_features=None)[原始碼]#
取得轉換的輸出特徵名稱。
輸出的特徵名稱將以小寫類別名稱作為前綴。例如,如果轉換器輸出 3 個特徵,則輸出的特徵名稱為:
["class_name0", "class_name1", "class_name2"]
。- 參數:
- input_features字串類陣列或 None,預設值=None
僅用於驗證
fit
中看到的名稱的特徵名稱。
- 返回:
- feature_names_out字串物件的 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估算器實例
估算器實例。