pyrfm.random_feature.SubfeatureRandomKernel¶
-
class
pyrfm.random_feature.
SubfeatureRandomKernel
(n_components=100, n_sub_features=5, kernel='anova', degree=2, distribution='rademacher', dense_output=False, random_state=None)[source]¶ Bases:
sklearn.base.BaseEstimator
,sklearn.base.TransformerMixin
Approximates feature map of the ANOVA/all-subsets kernel by Subfeature Random Kernel Feature map.
- Parameters
n_components (int (default=100)) – Number of Monte Carlo samples per original features. Equals the dimensionality of the computed (mapped) feature space.
n_sub_features (int (default=5)) – Number of subfeatures.
kernel (str (default="anova")) – Kernel to be approximated. “anova”, “anova_cython”, “all-subsets”, “dot”, or “pairwise” can be used.
degree (int (default=2)) – Parameter of the ANOVA kernel.
distribution (str, (default="rademacher")) – Distribution for random_weights_. “rademacher”, “gaussian”, “laplace”, “uniform”, or “sparse_rademacher” can be used.
dense_output (bool (default=False)) – Whether randomized feature matrix is dense or sparse. For kernel=’anova’, if dense_output = False, distribution=’sparse_rademacher’, and X is sparse matrix, output random feature matrix will become sparse matrix. For kernel=’anova_cython’, if dense_output=False, output random feature matrix will become sparse matrix.
random_state (int, RandomState instance or None, optional (default=None)) – If int, random_state is the seed used by the random number generator; If RandomState instance, random_state is the random number generator; If None, the random number generator is the RandomState instance used by np.random.
-
random_weights_
¶ The sampled basis.
- Type
csr_matrix, shape (n_features, n_components)
References
[1] Sparse Random Feature Maps for the Item-multiset Kernel. Kyohei Atarashi, Satoshi Oyama, and Masahito Kurihara.
-
fit
(X, y=None)[source]¶ Generate random weights according to n_features.
- Parameters
X ({array-like, sparse matrix}, shape (n_samples, n_features)) – Training data, where n_samples is the number of samples and n_features is the number of features.
- Returns
self – Returns the transformer.
- Return type
object
-
fit_transform
(X, y=None, **fit_params)¶ Fit to data, then transform it.
Fits transformer to X and y with optional parameters fit_params and returns a transformed version of X.
- Parameters
X (numpy array of shape [n_samples, n_features]) – Training set.
y (numpy array of shape [n_samples]) – Target values.
- Returns
X_new – Transformed array.
- Return type
numpy array of shape [n_samples, n_features_new]
-
get_params
(deep=True)¶ Get parameters for this estimator.
- Parameters
deep (boolean, optional) – If True, will return the parameters for this estimator and contained subobjects that are estimators.
- Returns
params – Parameter names mapped to their values.
- Return type
mapping of string to any
-
set_params
(**params)¶ Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as pipelines). The latter have parameters of the form
<component>__<parameter>
so that it’s possible to update each component of a nested object.- Returns
- Return type
self
-
transform
(X)[source]¶ Apply the approximate feature map to X.
- Parameters
X ({array-like, sparse matrix}, shape (n_samples, n_features)) – New data, where n_samples is the number of samples and n_features is the number of features.
- Returns
X_new
- Return type
array-like, shape (n_samples, n_components)