我想使用GridSearchCV来贪婪地搜索支持向量分类器的整个参数空间,但是某些参数组合被LinearSVC所禁止,并且会抛出异常。特别地,dual
、penalty
和loss
参数存在互斥的组合:
例如,以下代码:
from sklearn import svm, datasets
from sklearn.model_selection import GridSearchCV
iris = datasets.load_iris()
parameters = {'dual':[True, False], 'penalty' : ['l1', 'l2'], \
'loss': ['hinge', 'squared_hinge']}
svc = svm.LinearSVC()
clf = GridSearchCV(svc, parameters)
clf.fit(iris.data, iris.target)
返回ValueError:不支持的参数组合:当dual=False时,penalty='l2'和loss='hinge'的组合不受支持。 参数:penalty='l2',loss='hinge',dual=False
我的问题是:是否可能使GridSearchCV跳过模型禁止的参数组合?如果不能,是否有一种简单的方法来构造不会违反规则的参数空间?