Пропустить запрещенные комбинации параметров при использовании 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 пропускать комбинации параметров, которые запрещает модель? Если нет, есть ли простой способ построить пространство параметров, которое не будет нарушать правила?

    One Solution collect form web for “Пропустить запрещенные комбинации параметров при использовании GridSearchCV”

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

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

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

      Interesting Posts

      Как оптимизировать память и время использования следующего алгоритма в python

      Есть ли способ поставить вывод Python Shell в окно tkinter?

      доверительный интервал с наименьшим значением, подходящим для scipy python

      уникальные значения pandas несколько столбцов

      Более простой способ включения подробного ведения журнала

      Преобразование строки юникода в строку байта

      Имеют ли среды conda доступ к корневой среде? (== системные пакеты)?

      Ошибка выделения памяти Python с использованием подпроцесса. Popen

      Код Python для автоматизации действий рабочего стола в окнах

      Добавить целое число в начало списка в Python

      Как изменить размер изображения с помощью OpenCV2.0 и Python2.6

      Ошибка соединения с каналом: не удается получить индексную базовую ссылку http://pypi.python.org/simple/

      Создание PNG с matplotlib, когда DISPLAY не определено

      Конфигурация Aptana: сконфигурированный интерпретатор не существует в файловой системе

      Python: Что означает слэш в выводе справки (диапазон)?

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