8.14.2. sklearn.kernel_approximation.Nystroem¶
- class sklearn.kernel_approximation.Nystroem(kernel='rbf', gamma=None, coef0=1, degree=3, n_components=100, random_state=None)¶
Approximate a kernel map using a subset of the training data.
Constructs an approximate feature map for an arbitrary kernel using a subset of the data as basis.
Parameters: kernel : string or callable, default=”rbf”
Kernel map to be approximated.
n_components : int
Number of features to construct. How many data points will be used to construct the mapping.
gamma : float, default=1/n_features.
Parameter for the RBF kernel.
random_state : {int, RandomState}, optional
If int, random_state is the seed used by the random number generator; if RandomState instance, random_state is the random number generator.
See also
- RBFSampler
- An approximation to the RBF kernel using random Fourier features.
- sklearn.metric.pairwise.kernel_metrics
- List of build-in kernels.
References
- Williams, C.K.I. and Seeger, M. “Using the Nystrom method to speed up kernel machines”, Advances in neural information processing systems 2001
- T. Yang, Y. Li, M. Mahdavi, R. Jin and Z. Zhou “Nystroem Method vs Random Fourier Features: A Theoretical and Empirical Comparison”, Advances in Neural Information Processing Systems 2012
Attributes
components_ array, shape (n_components, n_features) Subset of training points used to construct the feature map. component_indices_ array, shape (n_components) Indices of components_ in the training set. normalization_ array, shape (n_components, n_components) Normalization matrix needed for embedding. Square root of the kernel matrix on components_. Methods
fit(X[, y]) Fit estimator to data. fit_transform(X[, y]) Fit to data, then transform it get_params([deep]) Get parameters for the estimator set_params(**params) Set the parameters of the estimator. transform(X) Apply feature map to X. - __init__(kernel='rbf', gamma=None, coef0=1, degree=3, n_components=100, random_state=None)¶
- fit(X, y=None)¶
Fit estimator to data.
Samples a subset of training points, computes kernel on these and computes normalization matrix.
Parameters: X : array-like, shape=(n_samples, n_feature)
Training data.
- 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 : numpy array of shape [n_samples, n_features_new]
Transformed array.
- get_params(deep=True)¶
Get parameters for the estimator
Parameters: deep: boolean, optional :
If True, will return the parameters for this estimator and contained subobjects that are estimators.
- set_params(**params)¶
Set the parameters of the estimator.
The method works on simple estimators as well as on nested objects (such as pipelines). The former have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.
Returns: self :
- transform(X)¶
Apply feature map to X.
Computes an approximate feature map using the kernel between some training points and X.
Parameters: X : array-like, shape=(n_samples, n_features)
Data to transform.
Returns: X_transformed : array, shape=(n_samples, n_components)
Transformed data.