pairwise_kernels#
- sklearn.metrics.pairwise.pairwise_kernels(X, Y=None, metric='linear', *, filter_params=False, n_jobs=None, **kwds)[源代码]#
计算数组X和可选数组Y之间的内核。
该方法采用一个载体数组或一个核矩阵,并返回一个核矩阵。如果输入是一个载体数组,则会计算核。如果输入是内核矩阵,则返回它。
该方法提供了一种将核矩阵作为输入的安全方法,同时保持与许多其他采用载体数组的算法的兼容性。
如果给定Y(默认为无),那么返回的矩阵是X和Y的数组之间的成对核。
- 度量的有效值为:
['additive_chi2', 'chi2', 'linear', 'poly', 'polynomial', 'rbf', 'laplacian', 'sigmoid', 'cosine']
阅读更多的 User Guide .
- 参数:
- X形状(n_samples_X,n_samples_X)的{类数组,稀疏矩阵}或 (n_samples_X,n_features)
样本之间的成对核数组,或特征数组。如果metric ==“预先计算”,则数组的形状应为(n_samples_X,n_samples_X),否则应为(n_samples_X,n_features)。
- Y{array-like, sparse matrix} of shape (n_samples_Y, n_features), default=None
仅当X具有形状(n_samples_X,n_features)时,第二个特征数组。
- metric字符串或可调用,默认=“线性”
计算特征数组中实例之间的内核时使用的指标。如果指标是字符串,则它必须是中的指标之一
pairwise.PAIRWISE_KERNEL_FUNCTIONS
.如果指标是“预先计算的”,则假设X是核矩阵。或者,如果metric是一个可调用的函数,则会对每对实例(行)调用它并记录结果值。可调用对象应该从X中获取两行作为输入,并以单个数字的形式返回相应的内核值。这意味着从sklearn.metrics.pairwise
不允许这样做,因为它们对矩阵而不是单个样本进行操作。使用标识内核的字符串。- filter_params布尔,默认=假
是否过滤无效参数。
- n_jobsint,默认=无
用于计算的作业数。这是通过将成对矩阵分解为n_jobs偶数切片并使用多线程计算它们来实现的。
None
意思是1,除非在a中joblib.parallel_backend
上下文-1
意味着使用所有处理器。看到 Glossary 了解更多详细信息。- **kwds可选关键字参数
任何进一步的参数都会直接传递给内核函数。
- 返回:
- K形状的nd数组(n_samples_X,n_samples_X)或(n_samples_X,n_samples_Y)
核矩阵K,使得K_{i,j}是给定矩阵X的第i个和第j个载体之间的核,如果Y为无。如果Y不为无,则K_{i,j}是X的第i个数组和Y的第j个数组之间的核。
注意到
如果指标是“预先计算的”,则忽略Y并返回X。
示例
>>> from sklearn.metrics.pairwise import pairwise_kernels >>> X = [[0, 0, 0], [1, 1, 1]] >>> Y = [[1, 0, 0], [1, 1, 0]] >>> pairwise_kernels(X, Y, metric='linear') array([[0., 0.], [1., 2.]])