кстати, я использую здесь ядро Matern, но то же самое происходит и с RBF

[img]https://i.sstatic. net/fQdxiu6t.png[/img]
rbf_kernel = Matern(
length_scale=1.0, # Initial length scale
length_scale_bounds=(1e-2, 1e2) # Bounds for length scale
)
# Create and fit the GP regressor
gpkd0 = GaussianProcessRegressor(
kernel=rbf_kernel,
normalize_y=True,
random_state=42
)
gpkd0.fit(np.array(kd0_values).reshape(-1,1), tracking_errors)
kd0_range = np.linspace(0.0, 100, 200).reshape(-1, 1)
y_mean_kd0, y_std_kd0 = gpkd0.predict(kd0_range, return_std=True)
print("y_mean_kd0: ", y_mean_kd0)
print("y_std_kd0: ", y_std_kd0)
plt.plot(kd0_range, y_mean_kd0, 'k-', lw=1.5, zorder=9, label='Mean prediction')
plt.fill_between(kd0_range.ravel(), y_mean_kd0 - 1.96 * y_std_kd0, y_mean_kd0 + 1.96 * y_std_kd0,
alpha=0.5, fc='orange', ec='None', label='95% confidence interval')
plt.scatter(kd0_values, tracking_errors, c='blue', s=50, zorder=10, edgecolors=(0, 0, 0), label='Observations')
plt.title("Gaussian process regression on noise-free dataset Kd")
plt.xlabel('X')
plt.ylabel('f(X)')
plt.legend(loc='upper left')
plt.close()
Подробнее здесь: https://stackoverflow.com/questions/790 ... aussian-pr