内核GridSearchCV参数

时间:2020-09-30 20:36:52

标签: python kernel svm gridsearchcv

我们可以如下在Gridserach中搜索内核吗?

以及应避免使用哪些参数组合?

parameters = {'C': [0.1, 1, 10, 100, 1000],  
              'gamma': [1, 0.1, 0.01, 0.001, 0.0001,'auto'], 
              'kernel': ['linear', 'poly', 'rbf', 'sigmoid']} 
  Svm = GridSearchCV(Svm, param_grid=parameters, cv=kf,verbose=10)

1 个答案:

答案 0 :(得分:2)

原则上,您可以在GridSearch中搜索内核。但是请记住,'gamma'仅对‘rbf’‘poly’‘sigmoid’有用。这意味着当'kernel''linear'时,您将得到多余的计算。更好的方法是使用词典列表而不是词典作为param_grid的输入参数:

svm_linear = {'C': [0.1, 1, 10, 100, 1000], 
              'kernel': ['linear']} 
svm_others = {'C': [0.1, 1, 10, 100, 1000],
              'gamma': [1, 0.1, 0.01, 0.001, 0.0001,'auto'], 
              'kernel': ['poly', 'rbf', 'sigmoid']}
parameters = [svm_linear, svm_others]
Svm = GridSearchCV(Svm, param_grid=parameters, cv=kf,verbose=10)

您可以在scikit-learn文档中找到类似的参数设置:https://scikit-learn.org/stable/auto_examples/model_selection/plot_grid_search_digits.html

我希望这个答案对您有用。 :)