Python实现基于高斯核函数,线性核函数和多项式核函数的SVR(支持向量回归)及预测算法

#(SVR)支持向量回归算法
import numpy as np
from sklearn.svm import SVR
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']

X=np.sort(5*np.random.rand(40,1),axis=0) #生成40组数据,按列排列
y=np.sin(X).ravel() #生成40组数据,ravel表示转换为行

svr_rbf=SVR(kernel='rbf',C=1e3,gamma=0.1) #rbf高斯核函数
svr_lin=SVR(kernel='linear',C=1e3) #linear线性核函数
svr_poly=SVR(kernel='poly',C=1e3,degree=2) #poly多项式核函数
y_rbf=svr_rbf.fit(X, y).predict(X) 
y_lin=svr_lin.fit(X, y).predict(X)
y_poly=svr_poly.fit(X,y).predict(X)

plt.scatter(X,y,label="原始数据") #原始数据
plt.scatter(X,y_rbf,label="高斯核")
plt.scatter(X,y_lin,label="线性核")
plt.scatter(X,y_poly,label="多项式核")
plt.legend()
plt.show()

Python实现基于高斯核函数,线性核函数和多项式核函数的SVR(支持向量回归)及预测算法_第1张图片

你可能感兴趣的:(算法,支持向量机,机器学习,kernel,python)