Пропустить запрещенные комбинации параметров при использовании GridSearchCV

Я хочу с жадностью искать все пространство параметров моего векторного классификатора поддержки с помощью 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: Unsupported set of arguments: The combination of penalty='l2' and loss='hinge' are not supported when dual=False, Parameters: penalty='l2', loss='hinge', dual=False

Мой вопрос: можно ли GridSearchCV пропускать комбинации параметров, которые запрещает модель? Если нет, есть ли простой способ построить пространство параметров, которое не будет нарушать правила?

  • Невозможно понять построение границы решения в SVM и LR
  • Вычисление функции решения SVM вручную
  • One Solution collect form web for “Пропустить запрещенные комбинации параметров при использовании GridSearchCV”

    Я решил эту проблему, передав error_score=0.0 в GridSearchCV :

    error_score: 'raise' (по умолчанию) или числовой

    Значение, присваиваемое счету, если возникает ошибка при подборе оценки. Если установлено значение «raise», ошибка повышается. Если задано числовое значение, повышается значение FitFailedWarning. Этот параметр не влияет на шаг refit, который всегда вызывает ошибку.

    Python - лучший язык программирования в мире.