And*_*ham 5 python scikit-learn
我正在尝试使用 scikit-learn 执行内核 PCA,使用不在其实现中的内核(以及该内核识别的自定义输入格式)。如果我可以提前计算内核,保存它,然后在内核 PCA 中使用它,那可能是最简单的。
precomputed
对 KernelPCA的争论意味着我可以做我想做的事;然而,它没有在文档中解释,我找不到任何使用它的例子。即使在sklearn 中 KernelPCA 的单元测试源代码中,代码似乎也没有真正说明预计算内核是什么。
有谁知道我将如何使用我自己的预计算内核?
在拟合时需要使用的预计算内核是样本之间的克矩阵。即,如果您有n_samples
由 表示的样本x_i
,那么您需要将为between和定义fit
的矩阵作为第一个参数提供。G
G_ij = K(x_i, x_j)
i, j
0
n_samples - 1
例如对于线性内核,这是
def linear_kernel(X, Y):
return X.dot(Y.T)
X = np.random.randn(10, 20)
gram = linear_kernel(X, X)
Run Code Online (Sandbox Code Playgroud)
为了预测X_test
你需要通过
X_test = np.random.randn(5, 20)
gram_test = linear_kernel(X_test, X)
Run Code Online (Sandbox Code Playgroud)
这将在单元测试中看到,例如here
归档时间: |
|
查看次数: |
2302 次 |
最近记录: |