MATLAB RVM 回归模型转换为 Python 代码:使用 Scikit-learn 实现
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 著作权归作者所有。请勿转载和采集!