sklearn.metrics.pairwise
.chi2_kernel#
- sklearn.metrics.pairwise.chi2_kernel(X, Y=None, gamma=1.0)[source]#
Compute the exponential chi-squared kernel between X and Y.
The chi-squared kernel is computed between each pair of rows in X and Y. X and Y have to be non-negative. This kernel is most commonly applied to histograms.
The chi-squared kernel is given by:
k(x, y) = exp(-gamma Sum [(x - y)^2 / (x + y)])
It can be interpreted as a weighted difference per entry.
Read more in the User Guide.
- Parameters:
- Xarray-like of shape (n_samples_X, n_features)
A feature array.
- Yarray-like of shape (n_samples_Y, n_features), default=None
An optional second feature array. If
None
, usesY=X
.- gammafloat, default=1
Scaling parameter of the chi2 kernel.
- Returns:
- kernelndarray of shape (n_samples_X, n_samples_Y)
The kernel matrix.
See also
additive_chi2_kernel
The additive version of this kernel.
sklearn.kernel_approximation.AdditiveChi2Sampler
A Fourier approximation to the additive version of this kernel.
References
Zhang, J. and Marszalek, M. and Lazebnik, S. and Schmid, C. Local features and kernels for classification of texture and object categories: A comprehensive study International Journal of Computer Vision 2007 https://hal.archives-ouvertes.fr/hal-00171412/document
Examples
>>> from sklearn.metrics.pairwise import chi2_kernel >>> X = [[0, 0, 0], [1, 1, 1]] >>> Y = [[1, 0, 0], [1, 1, 0]] >>> chi2_kernel(X, Y) array([[0.36..., 0.13...], [0.13..., 0.36...]])