Kernel functions¶
-
pyrfm.kernels.
all_subsets
(X, P, dense_output=True)[source]¶ Compute all-subsets kernel.
\[k(x, y) = \prod_{j=1}^d (1+x_jy_j)\]- Parameters
X ({array-like, sparse matrix} shape (n_samples1, n_features)) – Feature matrix.
P ({array-like, sparse matrix} shape (n_samples2, n_features)) – Feature matrix.
- Returns
gram_matrix
- Return type
array-like, shape (n_samples1, n_samples2)
-
pyrfm.kernels.
anova
(X, P, degree, dense_output=True)[source]¶ Compute ANOVA kernel by pure numpy.
\[k(x, y) = \sum_{j_1 < \cdots < j_m} x_{j_1}p_{j_1}\cdots x_{j_m}p_{j_m}\]- Parameters
X ({array-like, sparse matrix} shape (n_samples1, n_features)) – Feature matrix.
P ({array-like, sparse matrix} shape (n_samples2, n_features)) – Feature matrix.
degree (int) – Degree of the ANOVA kernel (m in above equation).
dense_output (bool (default=True)) – Whether to output np.ndarray or not (csr_matrix).
- Returns
gram_matrix
- Return type
array-like, shape (n_samples1, n_samples2)
-
pyrfm.kernels.
anova_fast
(X, P, degree, dense_output=True)[source]¶ Compute ANOVA kernel by Cython implementation.
\[k(x, y) = \sum_{j_1 < \cdots < j_m} x_{j_1}p_{j_1}\cdots x_{j_m}p_{j_m}\]- Parameters
X ({array-like, sparse matrix} shape (n_samples1, n_features)) – Feature matrix.
P ({array-like, sparse matrix} shape (n_samples2, n_features)) – Feature matrix.
degree (int) – Degree of the ANOVA kernel (m in above equation).
dense_output (bool (default=True)) – Whether to output np.ndarray or not (csr_matrix).
- Returns
gram_matrix
- Return type
array-like, shape (n_samples1, n_samples2)
-
pyrfm.kernels.
chi_square
(X, P)[source]¶ Compute chi squared kernel.
\[k(x,y) = \sum_{i=1}^{n}2x_iy_i/(x_i + y_i)\]- Parameters
X ({array-like, sparse matrix} shape (n_samples1, n_features)) – Feature matrix.
P ({array-like, sparse matrix} shape (n_samples2, n_features)) – Feature matrix.
- Returns
gram_matrix
- Return type
array-like, shape (n_samples1, n_samples2)
-
pyrfm.kernels.
hellinger
(X, P)[source]¶ Compute hellinger kernel.
\[k(x, y) = \sum_{j=1}^d \sqrt{x_j}\sqrt{y_j}\]- Parameters
X ({array-like, sparse matrix} shape (n_samples1, n_features)) – Feature matrix.
P ({array-like, sparse matrix} shape (n_samples2, n_features)) – Feature matrix.
- Returns
gram_matrix
- Return type
array-like, shape (n_samples1, n_samples2)
-
pyrfm.kernels.
intersection
(X, P)[source]¶ Compute intersection kernel.
\[k(x, y) = \sum_{j=1}^{d} \min (x_j, y_j)\]- Parameters
X ({array-like, sparse matrix} shape (n_samples1, n_features)) – Feature matrix.
P ({array-like, sparse matrix} shape (n_samples2, n_features)) – Feature matrix.
- Returns
gram_matrix
- Return type
array-like, shape (n_samples1, n_samples2)
-
pyrfm.kernels.
kernel_alignment
(K, y, scaling=True)[source]¶ Compute kernel alignment.
- Parameters
K (array, shape (n_sample, n_samples)) – Gram matrix.
y (array, shape (n_samples, )) – Label.
scaling (bool (default=True)) – Whether to scale or not. If True, result is divided by sqrt{KK}*n_samples
- Returns
score
- Return type
double
-
pyrfm.kernels.
pairwise
(X, P, dense_output=True, symmetric=False)[source]¶ Compute pairwise kernel.
\[k((x, a), (y, b)) = \sum_{t=1}^{m-1} \mathrm{ANOVA}^t(x, y)\mathrm{ANOVA}^{t-m}}a, b)\]Now only degree (m) = 2 supported.
- Parameters
X ({array-like, sparse matrix} shape (n_samples1, n_features)) – Feature matrix.
P ({array-like, sparse matrix} shape (n_samples2, n_features)) – Feature matrix.
dense_output (bool (default=True)) – Whether to output np.ndarray or not (csr_matrix).
symmetric (bool (default=False)) – Whether to symmetrize or not.
- Returns
gram_matrix
- Return type
array-like, shape (n_samples1, n_samples2)