Python递归实现支持向量回归算法
以下是Python递归实现支持向量回归算法的详细步骤:
- 导入相应的库,如numpy和sklearn
import numpy as np from sklearn.svm import SVR
- 准备数据集
X = np.sort(5 * np.random.rand(80, 1), axis=0) y = np.sin(X).ravel()
- 定义SVR对象
svr_rbf = SVR(kernel='rbf', C=1e3, gamma=0.1)
- 进行训练
svr_rbf.fit(X, y)
- 进行预测
y_rbf = svr_rbf.predict(X)
完整代码演示:
import numpy as np import matplotlib.pyplot as plt from sklearn.svm import SVR # 生成数据集 X = np.sort(5 * np.random.rand(80, 1), axis=0) y = np.sin(X).ravel() # 定义SVR对象 svr_rbf = SVR(kernel='rbf', C=1e3, gamma=0.1) # 进行训练 svr_rbf.fit(X, y) # 进行预测 y_rbf = svr_rbf.predict(X) # 可视化结果 plt.scatter(X, y, color='darkorange', label='data') plt.plot(X, y_rbf, color='navy', label='RBF model') plt.xlabel('data') plt.ylabel('target') plt.title('Support Vector Regression') plt.legend() plt.show()
其中,第7行的“kernel”参数指定核函数的类型,此处使用的是RBF核;第9行的“C”参数是对错误项的惩罚程度;第10行的“gamma”参数定义了核函数的系数。
代码执行结果如下图所示:
相关文章