我有一个跨2D区域的各个气象站的温度观测数据集。我正在尝试执行Kriging分析以创建网格化数据集。
我已经可以使用Barnes分析来做到这一点,但是后来发现Kriging的表现更好。具体来说,我使用了Python - Kriging (Gaussian Process) in scikit_learn的答案并获得了想要的结果。
现在的问题是,此答案中的GaussianProcess模块已被淘汰,现在建议使用GaussianProcessRegressor。现在,我不得不弄乱我不知道的内核,alpha,重启和其他机器学习术语。我只想简单地使用scikit-learn的最新版本来更新我的代码。
这是我的代码的外观:
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)
现在我需要使用
from sklearn.gaussian_process import GaussianProcessRegressor
我发现的每个主题都会涉及到有关内核和优化器重新启动的真正令人困惑的细节。我认为也许alpha
选项可能与nugget
选项相似。但是如何在theta0
中为thetaL
,thetaU
和GaussianProcessRegressor
设置值?
我是否需要使用kernel
? alpha
确实与nugget
相同吗?
我只是在寻找更新上述代码以在scikit-learn> 0.18中可用的最直接途径。