import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from sklearn.svm import SVR

读取数据

data = np.loadtxt('temp.txt') x = data[:,0] t = data[:,1] y = data[:,3]

构造输入矩阵

X = np.column_stack((x, t))

RVM 回归拟合

model = SVR() model.fit(X, y)

预测结果

y_pred = model.predict(X)

绘制数据点和拟合结果

fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.scatter(x, t, y, c='b') ax.scatter(x, t, y_pred, c='r') ax.legend(['Data', 'RVM Prediction']) ax.set_xlabel('x') ax.set_ylabel('t') ax.set_zlabel('y')

设置图形坐标范围

ax.set_xlim([np.min(x), np.max(x)]) ax.set_ylim([np.min(t), np.max(t)]) ax.set_zlim([np.min(y), np.max(y)])

设置图形标题

plt.title('RVM Regression')

显示图形

plt.show()

保存拟合模型

np.save('svm_model.npy', model)


原文地址: https://www.cveoy.top/t/topic/p7wy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录