我最近一直在研究高斯过程。概率多输出的观点在我的领域很有前途。特别是空间统计。但是我遇到了三个问题:
让我用meuse数据集(来自 R 包sp)运行一个简单的案例研究。
UPDATE:用于这个问题的Jupyter笔记本电脑,并根据更新的格儿的回答,是这里。
import pandas as pd
import numpy as np
import matplotlib.pylab as plt
%matplotlib inline
meuse = pd.read_csv(filepath_or_buffer='https://gist.githubusercontent.com/essicolo/91a2666f7c5972a91bca763daecdc5ff/raw/056bda04114d55b793469b2ab0097ec01a6d66c6/meuse.csv', sep=',')
Run Code Online (Sandbox Code Playgroud)
例如,我们将重点关注铜和铅。
fig = plt.figure(figsize=(12,8))
ax1 = fig.add_subplot(121, aspect=1)
ax1.set_title('Lead')
ax1.scatter(x=meuse.x, y=meuse.y, s=meuse.lead, alpha=0.5, color='grey')
ax2 = fig.add_subplot(122, aspect=1)
ax2.set_title('Copper')
ax2.scatter(x=meuse.x, y=meuse.y, s=meuse.copper, alpha=0.5, color='orange')
Run Code Online (Sandbox Code Playgroud)
事实上,铜和铅的浓度是相关的。
plt.plot(meuse['lead'], meuse['copper'], '.')
plt.xlabel('Lead')
plt.ylabel('Copper')
Run Code Online (Sandbox Code Playgroud)
因此,这是一个多输出问题。
from sklearn.gaussian_process.kernels import RBF
from sklearn.gaussian_process import GaussianProcessRegressor as GPR
reg = GPR(kernel=RBF())
reg.fit(X=meuse[['x', …Run Code Online (Sandbox Code Playgroud)