内核 GridSearchCV 参数
kernel GridSearchCV parameters
能否在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)
原则上可以在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
希望这个回答对您有用。 :)
能否在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)
原则上可以在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
希望这个回答对您有用。 :)