1. # -*- coding: utf-8 -*-
    2. import numpy as np
    3. from sklearn.gaussian_process import GaussianProcessRegressor
    4. from sklearn.gaussian_process.kernels import RBF,WhiteKernel, ConstantKernel as C
    5. from sklearn.model_selection import train_test_split # 这里是引用了交叉验证
    6. from sklearn.metrics import mean_squared_error
    7. from data_load import load_data
    8. X,y = load_data()
    9. # 训练数据
    10. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
    11. kernel = C(0.25, (1e-3, 1e3)) * RBF(0.5, (1e-3, 1e4)) + WhiteKernel(0.0002, (1e-23, 1e3))
    12. reg = GaussianProcessRegressor(kernel=kernel, n_restarts_optimizer=30)
    13. for i in range(2):
    14. reg.fit(X_train, y_train)
    15. # 预测
    16. y_pred = reg.predict(X_test)