python - 使用自定义距离评估 Matern 内核

标签 python scikit-learn gaussian

我正在尝试评估 scikit 学习包中的母体内核。所以基本上,我做这样的事情

import numpy as np
from sklearn.gaussian_process.kernels import Matern as skMatern

locs=np.array([[0, 0], [0, 0.5], [0.5, 0.7]])

K = skMatern(nu=1.8, length_scale=0.2)
covMat = K(locs)

我的问题是我希望能够确定内核计算点之间距离的方式。

换句话说,我上面的代码计算

enter image description here

哪里enter image description here是 Matern 协方差函数和 enter image description here , enter image description herelocs 的行大批。我想要的是计算enter image description here并且能够自己指定 d (也许作为距离矩阵)。我一直在看scikit-learn文档,但一直无法弄清楚如何去做。谢谢你的帮助!

最佳答案

有点晚了,但它可以帮助别人。如 d是你的距离矩阵,你可以写:

import numpy as np
from sklearn.gaussian_process.kernels import Matern
from sklearn.metrics import pairwise_distances

m, n = 10, 3
d = pairwise_distances(np.random.randn(m, n))

K = Matern()(0, d.ravel()[:, np.newaxis]).reshape(d.shape)
这行代码得益于 0广播到正确的形状。

关于python - 使用自定义距离评估 Matern 内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48810310/

相关文章:

python - 使用 BaggingClassifier 时打印决策树和 feature_importance

python - 如何获得对带有噪声的图像进行二维高斯拟合的正确参数

c++ - 核密度估计器(使用高斯核)和 f(x) = 1?

python - 在 python 中仅提取电子邮件 header

python - cartopy 中的 OverflowError

python - 使用python在revit中创建和分配子类别

python - svm.sparse.SVC 需要花费大量时间进行训练

python-3.x - Sklearn tf-idf TfidfVectorizer 未能捕获一个字母单词

image-processing - 如何为图像添加镜头(焦点)模糊

python - 如何在 Python 中更快地验证域?