SVR调参
SVR调参,基本就是调俩值,一个C,一个gamma,核函数一般就选择径向基kernel='rbf'。
tips!:其实SVR我觉得就不需要调,一般就俩值(C=100,gamma=0.01 或者 C=1000,gamma=0.01)
1、调惩罚参数C
1 # SVR调参
2 from sklearn.model_selection import train_test_split,GridSearchCV,cross_val_score
3 from sklearn.svm import SVR
4
5 # 调 C 参数
6 ScoreAll = []
7 param_range = [0.0001,0.001,0.01,0.1,1.0,10.0,100.0,1000.0]
8 for i in param_range:
9 svr = SVR(kernel='rbf', C=i)
10 score = cross_val_score(svr, X_train, Y_train, cv=10).mean()
11 ScoreAll.append([i,score])
12 ScoreAll = np.array(ScoreAll)
13
14 max_score = np.where(ScoreAll==np.max(ScoreAll[:,1]))[0][0] # 其实就是找出最高得分对应的索引
15 print("最优参数以及最高得分:",ScoreAll[max_score])
16 plt.figure()
17 plt.xlabel('C',size=13)
18 plt.ylabel('score',size=13)
19 plt.plot(ScoreAll[:,0],ScoreAll[:,1])
20 plt.grid() # 生成网格
21 plt.show()
2、调gamma值
1 # 调 gamma 参数
2 ScoreAll = []
3 param_range = [0.0001,0.001,0.01,0.1,1.0,10.0,100.0,1000.0]
4 for i in param_range:
5 svr = SVR(kernel='rbf', C=100, gamma=i)
6 score = cross_val_score(svr, X_train, Y_train, cv=10).mean()
7 ScoreAll.append([i,score])
8 ScoreAll = np.array(ScoreAll)
9
10 max_score = np.where(ScoreAll==np.max(ScoreAll[:,1]))[0][0] # 找出最高得分对应的索引
11 print("最优参数以及最高得分:",ScoreAll[max_score])
12 plt.figure()
13 plt.xlabel('gamma',size=13)
14 plt.ylabel('score',size=13)
15 plt.plot(ScoreAll[:,0],ScoreAll[:,1])
16 plt.grid() # 生成网格
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律