【问题标题】:evaluate the Matern kernel with custom distances使用自定义距离评估 Matern 内核
【发布时间】:2018-07-26 09:23:09
【问题描述】:

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

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)

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

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

其中 是 Matern 协方差函数,locs 数组的行。我想要的是计算 并能够自己指定 d (也许作为距离矩阵)。我一直在查看scikit-learn 文档,但无法弄清楚如何去做。感谢您的帮助!

【问题讨论】:

    标签: python scikit-learn gaussian


    【解决方案1】:

    有点晚了,但它可以帮助别人。如果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 被广播到正确的形状。

    【讨论】:

      猜你喜欢
      • 2016-09-27
      • 2019-05-03
      • 1970-01-01
      • 1970-01-01
      • 2016-02-19
      • 1970-01-01
      • 1970-01-01
      • 2014-01-28
      • 2014-07-20
      相关资源
      最近更新 更多