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 將轉換器擬合到 Xy,並返回轉換後的 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

設定 transformfit_transform 的輸出格式。

  • "default":轉換器的預設輸出格式

  • "pandas":DataFrame 輸出

  • "polars":Polars 輸出

  • None:轉換設定不變

1.4 版新增: 新增 "polars" 選項。

返回:
self估算器實例

估算器實例。

set_params(**params)[原始碼]#

設定此估算器的參數。

此方法適用於簡單的估算器,以及巢狀物件(例如 Pipeline)。後者具有 <元件>__<參數> 形式的參數,因此可以更新巢狀物件的每個元件。

參數:
**paramsdict

估算器參數。

返回:
self估算器實例

估算器實例。

transform(X)[原始碼]#

將近似特徵映射套用至 X。

參數:
X{類陣列、稀疏矩陣},形狀為 (n_samples, n_features)

新資料,其中 n_samples 是樣本數,n_features 是特徵數。

返回:
X_new類陣列,形狀為 (n_samples, n_components)

返回實例本身。