本文介绍了python 支持向量机非线性回归SVR模型,废话不多说,具体如下:
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm from sklearn.model_selection import train_test_split def load_data_regression(): ''' 加载用于回归问题的数据集 ''' diabetes = datasets.load_diabetes() #使用 scikit-learn 自带的一个糖尿病病人的数据集 # 拆分成训练集和测试集,测试集大小为原始数据集大小的 1/4 return train_test_split(diabetes.data,diabetes.target,test_size=0.25,random_state=0) #支持向量机非线性回归SVR模型 def test_SVR_linear(*data): X_train,X_test,y_train,y_test=data regr=svm.SVR(kernel='linear') regr.fit(X_train,y_train) print('Coefficients:%s, intercept %s'%(regr.coef_,regr.intercept_)) print('Score: %.2f' % regr.score(X_test, y_test)) # 生成用于回归问题的数据集 X_train,X_test,y_train,y_test=load_data_regression() # 调用 test_LinearSVR test_SVR_linear(X_train,X_test,y_train,y_test)
def test_SVR_poly(*data): ''' 测试 多项式核的 SVR 的预测性能随 degree、gamma、coef0 的影响. ''' X_train,X_test,y_train,y_test=data fig=plt.figure() ### 测试 degree #### degrees=range(1,20) train_scores=[] test_scores=[] for degree in degrees: regr=svm.SVR(kernel='poly',degree=degree,coef0=1) regr.fit(X_train,y_train) train_scores.append(regr.score(X_train,y_train)) test_scores.append(regr.score(X_test, y_test)) ax=fig.add_subplot(1,3,1) ax.plot(degrees,train_scores,label="Training score ",marker='+' ) ax.plot(degrees,test_scores,label= " Testing score ",marker='o' ) ax.set_title( "SVR_poly_degree r=1") ax.set_xlabel("p") ax.set_ylabel("score") ax.set_ylim(-1,1.) ax.legend(loc="best",framealpha=0.5) ### 测试 gamma,固定 degree为3, coef0 为 1 #### gammas=range(1,40) train_scores=[] test_scores=[] for gamma in gammas: regr=svm.SVR(kernel='poly',gamma=gamma,degree=3,coef0=1) regr.fit(X_train,y_train) train_scores.append(regr.score(X_train,y_train)) test_scores.append(regr.score(X_test, y_test)) ax=fig.add_subplot(1,3,2) ax.plot(gammas,train_scores,label="Training score ",marker='+' ) ax.plot(gammas,test_scores,label= " Testing score ",marker='o' ) ax.set_title( "SVR_poly_gamma r=1") ax.set_xlabel(r"$\gamma$") ax.set_ylabel("score") ax.set_ylim(-1,1) ax.legend(loc="best",framealpha=0.5) ### 测试 r,固定 gamma 为 20,degree为 3 ###### rs=range(0,20) train_scores=[] test_scores=[] for r in rs: regr=svm.SVR(kernel='poly',gamma=20,degree=3,coef0=r) regr.fit(X_train,y_train) train_scores.append(regr.score(X_train,y_train)) test_scores.append(regr.score(X_test, y_test)) ax=fig.add_subplot(1,3,3) ax.plot(rs,train_scores,label="Training score ",marker='+' ) ax.plot(rs,test_scores,label= " Testing score ",marker='o' ) ax.set_title( "SVR_poly_r gamma=20 degree=3") ax.set_xlabel(r"r") ax.set_ylabel("score") ax.set_ylim(-1,1.) ax.legend(loc="best",framealpha=0.5) plt.show() # 调用 test_SVR_poly test_SVR_poly(X_train,X_test,y_train,y_test)
def test_SVR_rbf(*data): ''' 测试 高斯核的 SVR 的预测性能随 gamma 参数的影响 ''' X_train,X_test,y_train,y_test=data gammas=range(1,20) train_scores=[] test_scores=[] for gamma in gammas: regr=svm.SVR(kernel='rbf',gamma=gamma) regr.fit(X_train,y_train) train_scores.append(regr.score(X_train,y_train)) test_scores.append(regr.score(X_test, y_test)) fig=plt.figure() ax=fig.add_subplot(1,1,1) ax.plot(gammas,train_scores,label="Training score ",marker='+' ) ax.plot(gammas,test_scores,label= " Testing score ",marker='o' ) ax.set_title( "SVR_rbf") ax.set_xlabel(r"$\gamma$") ax.set_ylabel("score") ax.set_ylim(-1,1) ax.legend(loc="best",framealpha=0.5) plt.show() # 调用 test_SVR_rbf test_SVR_rbf(X_train,X_test,y_train,y_test)
def test_SVR_sigmoid(*data): ''' 测试 sigmoid 核的 SVR 的预测性能随 gamma、coef0 的影响. ''' X_train,X_test,y_train,y_test=data fig=plt.figure() ### 测试 gammam,固定 coef0 为 0.01 #### gammas=np.logspace(-1,3) train_scores=[] test_scores=[] for gamma in gammas: regr=svm.SVR(kernel='sigmoid',gamma=gamma,coef0=0.01) regr.fit(X_train,y_train) train_scores.append(regr.score(X_train,y_train)) test_scores.append(regr.score(X_test, y_test)) ax=fig.add_subplot(1,2,1) ax.plot(gammas,train_scores,label="Training score ",marker='+' ) ax.plot(gammas,test_scores,label= " Testing score ",marker='o' ) ax.set_title( "SVR_sigmoid_gamma r=0.01") ax.set_xscale("log") ax.set_xlabel(r"$\gamma$") ax.set_ylabel("score") ax.set_ylim(-1,1) ax.legend(loc="best",framealpha=0.5) ### 测试 r ,固定 gamma 为 10 ###### rs=np.linspace(0,5) train_scores=[] test_scores=[] for r in rs: regr=svm.SVR(kernel='sigmoid',coef0=r,gamma=10) regr.fit(X_train,y_train) train_scores.append(regr.score(X_train,y_train)) test_scores.append(regr.score(X_test, y_test)) ax=fig.add_subplot(1,2,2) ax.plot(rs,train_scores,label="Training score ",marker='+' ) ax.plot(rs,test_scores,label= " Testing score ",marker='o' ) ax.set_title( "SVR_sigmoid_r gamma=10") ax.set_xlabel(r"r") ax.set_ylabel("score") ax.set_ylim(-1,1) ax.legend(loc="best",framealpha=0.5) plt.show() # 调用 test_SVR_sigmoid test_SVR_sigmoid(X_train,X_test,y_train,y_test)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年11月26日
2024年11月26日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]