sklearn.kernel_approximation.RBFSampler¶
class sklearn.kernel_approximation.RBFSampler(*, gamma=1.0, n_components=100,random_state=None)
[源码]
用Fourier变换的Carlo approximation近似逼近RBF的特征映射。
它实现了Random Kitchen Sinks的一种变体。[1]
阅读更多内容用户指南.
参数 | 说明 |
---|---|
gamma | float RBF核参数:exp(-gamma * x^2) |
n_components | int 每个原始特征的Carlo approximation样本数。等于计算特征空间的维数。 |
random_state | int, RandomState instance or None, optional (default=None) 伪随机数发生器在拟合训练数据时控制随机权值和随机偏移的产生。通过多个函数调用传递可重复输出的int值。 请参阅词汇表。 |
属性 | 说明 |
---|---|
random_offset_ | ndarray of shape (n_components,), dtype=float64 用于计算特征空间n_components维度中的投影的随机偏移量。 |
random_weights_ | ndarray of shape (n_features, n_components), dtype=float64 从RBF内核的Fourier变换得出的随机投影方向。 |
注:
参见A. Rahimi 和 Benjamin Recht的Random Features for Large-Scale Kernel Machines
[1] “Weighted Sums of Random Kitchen Sinks: Replacing minimization with randomization in learning” by A. Rahimi and 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)
方法 | 说明 |
---|---|
fit (self, X[, y]) |
用X拟合模型。 |
fit_transform (self, X[, y]) |
拟合数据,然后将其转换 |
get_params (self[, deep]) |
获取此估计量的参数。 |
set_params (self, **params) |
设置此估计量的参数。 |
transform (self, X) |
将近似特征映射应用于X。 |
__init__(self, *, gamma=1.0, n_components=100, random_state=None)
[源码]
初始化self, 请参阅help(type(self))以获得准确的说明
fit(self, X, y=None)
[源码]
拟合数据,然后对其进行转换。
使用可选参数Fit_params将转换器安装到X和y,并返回转换版本的X。
参数 | 说明 |
---|---|
X | {array-like, sparse matrix}, shape (n_samples, n_features) 训练数据,其中样本数为n_samples,特征数为n_features。 |
返回值 | 说明 |
---|---|
self | object 返回transformer |
fit_transform(self,X, y=None, **fit_params)
[源码]
拟合数据,然后转换它。
使用可选参数fit_params将transformer拟合到X和y,并返回X的转换版本。
参数 | 说明 |
---|---|
x | {array-like, sparse matrix, dataframe} of shape (n_samples, n_features) |
y | ndarray of shape (n_samples,), default=None 目标值。 |
**fit_params | dict 其他拟合参数。 |
返回值 | 说明 |
---|---|
X_new | ndarray array of shape (n_samples, n_features_new) 变换数组 |
get_params(self, deep=True)
[来源]
获取此估计量的参数。
参数 | 说明 |
---|---|
deep | bool, default=True 如果为True,则将返回此估算量和作为估算量的所包含子对象的参数。 |
返回值 | 说明 |
---|---|
params | mapping of string to any 参数名称映射到其值。 |
set_params(self, **params)
[源码]
设置此估计量的参数。
该方法适用于简单的估计量以及嵌套对象(例如pipelines)。 后者的参数格式为
参数 | 说明 |
---|---|
**params | dict 估计参数 |
返回值 | 说明 |
---|---|
self | object 估计实例 |
transform(self, X)
[源码]
将近似特征映射应用于X。
参数 | 说明 |
---|---|
X | {array-like, sparse matrix}, shape (n_samples, n_features) 新的数据,其中n_SAMPLE中的样本数,n_Features是特征的个数。 |
返回值 | 说明 |
---|---|
X_new | array-like, shape (n_samples, n_components) |