使用scikitlearn的GaussianProcessResgressor代替GaussianProcess进行克里格插值

2024-05-19 03:02:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个二维地区不同气象站的温度观测数据集。我正在尝试执行Kriging分析来创建网格数据集。在

我可以用巴恩斯的分析来做这个,但是后来发现克里格的表现更好。具体来说,我使用了来自Python - Kriging (Gaussian Process) in scikit_learn的答案并得到了我想要的结果。在

现在的问题是,这个答案中的gaussianprocesss模块已经贬值,现在建议使用gaussianprocesssregrisor。现在我不得不处理内核、alphas、重新启动和其他我不知道的机器学习术语。我只想简单地使用scikit的最新版本来更新我的代码。在

我的代码是这样的:

from sklearn.gaussian_process import GaussianProcess

def kriging(lat_points, lon_points, values, 
            gridded_lats, gridded_lons):

    points = zip(lon_points,  lat_points)
    gp = GaussianProcess(theta0=0.1, thetaL=.001, 
                         thetaU=1., nugget=0.001)
    gp.fit(points, values)
    XY_pairs = np.column_stack([glons.flatten(), glats.flatten()])

    return gp.predict(XY_pairs).reshape(glons.shape)

现在我需要使用

^{pr2}$

关于这个问题,我发现的每一个主题都涉及到关于内核和优化器重新启动的令人困惑的细节。我认为alpha选项可能与nugget选项类似。但是我如何设置theta0thetaL、和{}的值呢?在

我是否需要使用kernelalpha真的和{}相同吗?在

我只是在寻找更新上面代码的最直接的路径,以便在scikit learn>;0.18中可用。在


Tags: 数据答案代码krigingscikit内核learnpoints

热门问题