问题描述
我需要建立一个网格搜索来调整超参数。设置两个范围:lambda = [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1]
和sigma = [0.1,1]
。如何建立自定义网格搜索?我使用CustomSVM()
,fit()
和predict()
方法创建了一个名为score()
的自定义SVM类。我想在该类上创建一个搜索网格,以查看最适合的参数。
我想过
for x in lambda:
for y in sigma:
...
但我不确定如何设置。
解决方法
Sklearn有一个网格搜索类,可以使用this?
from sklearn.model_selection import GridSearchCV
parameters = {
'lambda': [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1],'sigma': [0.1,1]}
svm_gs = GridSearchCV(customSVM,parameters)
svm_gs.fit(your.data,your.target)
我不明白为什么您的for loop
解决方案也无法正常工作;您可以参考GridSearchCV文档以获取想法。