如何实现svr中的几个参数优化,网格或者遗传算法有案例代码吗

来源:11-3 Soft Margin SVM

qq_慕姐45445

2019-03-05

如何实现svr中的几个参数优化,网格或者遗传算法有案例代码吗

写回答

2回答

qq_慕姐45445

提问者

2019-04-22

BOBO老师您好,看了你的回复我尝试了SVR的网格搜索不知道哪里出错了:

import numpy as np

import matplotlib.pyplot as plt

from sklearn import datasets


boston = datasets.load_boston()

x = boston.data

y = boston.target



from sklearn.preprocessing import StandardScaler

from sklearn.pipeline import Pipeline

from sklearn.svm import SVR


def RBFKernelsvr(C=1,gamma=1.0):

    return Pipeline([

            ("std_scaler",StandardScaler()),

            ("svc",SVR(kernel="rbf",gamma=gamma,C=C))

            

            

            ])


svr = RBFKernelsvr()


# 准备待搜索的参数列表

C_PARM = [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8]


param_grid = [

    {

        'gamma': [i for i in C_PARM], 

        'C':[i for i in range(1, 11)]

    }

]


from sklearn.model_selection import GridSearchCV

grid_search = GridSearchCV(svr, param_grid)

grid_search.fit(x,y)

print(grid_search.best_estimator_)

print(grid_search.best_params_)

svr0=grid_search.best_estimator_

print(svr0.score(x,y))




0
4
qq_慕姐45445
回复
liuyubobobo
非常感谢
2019-04-23
共4条回复

liuyubobobo

2019-03-06

课程中介绍的网格搜索算法,可以用于对任意机器学习算法进行调参。具体参考课程4-6所介绍的网格搜索。


在这个问答中,我又以逻辑回归为例,简述了怎么融合更为复杂的Pipeline,进行调参,可以参考:http://coding.imooc.com/learn/questiondetail/61679.html

将这个代码中的 LogisticRegression 类,换成SVR,就是对SVR调参了(当然要包含对应的参数):)


遗传算法不是这个课程的内容。抱歉。


继续加油!:)

0
0

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5850 学习 · 2437 问题

查看课程