This page

Citing

Please consider citing the scikit-learn.

9.8.4.8. sklearn.metrics.pairwise.pairwise_kernels

sklearn.metrics.pairwise.pairwise_kernels(X, Y=None, metric='linear', **kwds)

Compute the kernel between arrays X and optional array Y.

This method takes either a vector array or a kernel matrix, and returns a kernel matrix. If the input is a vector array, the kernels are computed. If the input is a kernel matrix, it is returned instead.

This method provides a safe way to take a kernel matrix as input, while preserving compatability with many other algorithms that take a vector array.

If Y is given (default is None), then the returned matrix is the pairwise kernel between the arrays from both X and Y.

Valid values for metric are: [‘rbf’, ‘sigmoid’, ‘polynomial’, ‘poly’, ‘linear’]

Parameters :

X: array [n_samples_a, n_samples_a] if metric == “precomputed”, or, :

[n_samples_a, n_features] otherwise

Array of pairwise kernels between samples, or a feature array.

Y: array [n_samples_b, n_features] :

A second feature array only if X has shape [n_samples_a, n_features].

metric: string, or callable :

The metric to use when calculating kernel between instances in a feature array. If metric is a string, it must be one of the metrics in pairwise.pairwise_kernel_functions. If metric is “precomputed”, X is assumed to be a kernel matrix and must be square. Alternatively, if metric is a callable function, it is called on each pair of instances (rows) and the resulting value recorded. The callable should take two arrays from X as input and return a value indicating the distance between them.

**kwds: optional keyword parameters :

Any further parameters are passed directly to the kernel function.

Returns :

K: array [n_samples_a, n_samples_a] or [n_samples_a, n_samples_b] :

A kernel matrix K such that K_{i, j} is the kernel between the ith and jth vectors of the given matrix X, if Y is None. If Y is not None, then K_{i, j} is the kernel between the ith array from X and the jth array from Y.