При использовании GridSearchCV в пользовательском оценщике, являющемся оберткой в SVC, я получаю сообщение об ошибке: «ValueError: число классов должно быть больше одного; получен 1 класс»
пользовательским оценщиком являетсясделано для добавления параметров gridsearch в оценщик и, кажется, работает нормально.
Используя отладчик, я обнаружил, что действительно, для моего оценщика предоставляется набор поездов только для одного класса, поэтому возникает 2 возможности:
Когда я получаю сообщение об ошибке из вызова SVC.fit и кажется, что SVC не должен получать наборы только для одного класса, я думаю, что это второй вариант.Тем не менее, я посмотрел в реализации GridSearchCV, но я не нашел нигде, где он проверяет, есть ли сгиб только для одного класса или почему он потерпит неудачу ...
Я использовал поиск по сетке внутриперекрестная проверка для выполнения вложенной перекрестной проверки:
gs = GridSearchCV(clf.gs_clf.get_gs_clf(), parameter_grid, cv=n_inner_splits, iid=False)
gs.fit(*clf.get_train_set(X, y, train_index))