AdditiveChi2Sampler#

class sklearn.kernel_approximation.AdditiveChi2Sampler(*, sample_steps=2, sample_interval=None)[原始碼]#

用於加性卡方核的近似特徵映射。

使用在規則間隔採樣核特徵的傅立葉變換。

由於要近似的核函數是可加性的,因此輸入向量的各個組成部分可以單獨處理。原始空間中的每個條目都會轉換為 2*sample_steps-1 個特徵,其中 sample_steps 是此方法的一個參數。sample_steps 的典型值包括 1、2 和 3。

可以計算特定資料範圍的取樣間隔的最佳選擇(請參閱參考文獻)。預設值應該是合理的。

請在 使用者指南 中閱讀更多資訊。

參數:
sample_stepsint,預設值=2

給定(複數)取樣點的數量。

sample_intervalfloat,預設值=None

取樣間隔。當 sample_steps 不在 {1,2,3} 中時必須指定。

屬性:
n_features_in_int

fit 期間看到的特徵數量。

在 0.24 版本中新增。

feature_names_in_形狀為 (n_features_in_,) 的 ndarray

fit 期間看到的特徵名稱。僅當 X 具有全部為字串的特徵名稱時才定義。

在 1.0 版本中新增。

另請參閱

SkewedChi2Sampler

卡方核函數的非可加變體的傅立葉近似。

sklearn.metrics.pairwise.chi2_kernel

精確的卡方核函數。

sklearn.metrics.pairwise.additive_chi2_kernel

精確的可加卡方核函數。

注意事項

此估算器近似於與 metric.additive_chi2 計算結果略有不同的可加卡方核函數版本。

此估算器是無狀態的,不需要擬合。但是,我們建議呼叫 fit_transform 而不是 transform,因為參數驗證僅在 fit 中執行。

參考文獻

請參閱 “透過顯式特徵映射實現有效率的可加核函數” A. Vedaldi 和 A. Zisserman,《Pattern Analysis and Machine Intelligence》,2011 年

範例

>>> from sklearn.datasets import load_digits
>>> from sklearn.linear_model import SGDClassifier
>>> from sklearn.kernel_approximation import AdditiveChi2Sampler
>>> X, y = load_digits(return_X_y=True)
>>> chi2sampler = AdditiveChi2Sampler(sample_steps=2)
>>> X_transformed = chi2sampler.fit_transform(X, y)
>>> clf = SGDClassifier(max_iter=5, random_state=0, tol=1e-3)
>>> clf.fit(X_transformed, y)
SGDClassifier(max_iter=5, random_state=0)
>>> clf.score(X_transformed, y)
0.9499...
fit(X, y=None)[原始碼]#

僅驗證估算器的參數。

此方法允許:(i) 驗證估算器的參數,以及 (ii) 與 scikit-learn 轉換器 API 保持一致。

參數:
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_params字典

其他擬合參數。

傳回值:
X_new形狀為 (n_samples, n_features_new) 的 ndarray 陣列

轉換後的陣列。

get_feature_names_out(input_features=None)[原始碼]#

取得轉換的輸出特徵名稱。

參數:
input_featuresstr 的類陣列或 None,預設值=None

僅用於驗證特徵名稱是否與在 fit 中看到的名稱相同。

傳回值:
feature_names_outstr 物件的 ndarray

轉換後的特徵名稱。

get_metadata_routing()[原始碼]#

取得此物件的中繼資料路由。

請查看關於路由機制如何運作的使用者指南

傳回值:
routingMetadataRequest

封裝路由資訊的 MetadataRequest

get_params(deep=True)[原始碼]#

取得此估算器的參數。

參數:
deepbool,預設值=True

如果為 True,將傳回此估算器和所包含的子物件(也就是估算器)的參數。

傳回值:
params字典

對應到其值的參數名稱。

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)。後者的參數形式為 <component>__<parameter>,因此可以更新巢狀物件的每個元件。

參數:
**paramsdict

估算器參數。

傳回值:
self估算器實例

估算器實例。

transform(X)[原始碼]#

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

參數:
X{array-like, sparse matrix}, shape (n_samples, n_features)

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

傳回值:
X_new{ndarray, sparse matrix}, shape = (n_samples, n_features * (2*sample_steps - 1))

傳回值是陣列還是稀疏矩陣取決於輸入 X 的類型。