Ню невозможно

Я использую класс NuSVC в sklearn. После попытки создать экземпляр объекта NuSVC следующим образом:

self.classifier = OneVsRestClassifier(NuSVC())

Я обнаружил, что неоднократно получаю сообщение об ошибке «указанное значение невозможно». Я пытался изменить параметр 'nu' от 0,1 до 1 (с шагом 0,1), но все равно получаю ту же ошибку. Я действительно не уверен, как интерпретировать это сообщение и как его решить? Я полагал, что если я установлю nu равным 1, это сработает, потому что nu представляет собой верхнюю границу доли ошибок обучения, которая, как я считаю, всегда должна быть приемлемой. Что может быть причиной этого?

Спасибо за помощь!


person MEric    schedule 18.11.2014    source источник


Ответы (1)


Для полноты картины из документации: Nu-SVM представляет собой ограниченную формулировку SVM (эквивалентен оригиналу до репараметризации), который накладывает жесткие ограничения на допустимую неправильную классификацию. Если эта граница не может быть удовлетворена, то связанная с ней задача выпуклой оптимизации становится неразрешимой.

С этой точки зрения первое, что вам нужно выяснить, это сколько ошибок обучения вы действительно можете ожидать, и, возможно, пересмотреть свои предположения. Найдите в сетке значений C стандартную SVM, чтобы проверить это.

Однако NuSVC должен работать с некоторыми значениями строго меньше 1. Судя по вашему описанию, вы пробовали 0,9 — начните добавлять девятки, т. е. 0,99, 0,999. Если это не работает в какой-то момент, то где-то должна быть другая проблема.

person eickenberg    schedule 18.11.2014
comment
Из документации nu также является нижней границей доли опорных векторов. Когда у меня возникла эта проблема на тренировочном наборе с 20% положительных примеров, мне пришлось снизить nu с 0,5 до 0,2 или изменить выборку тренировочного набора до 50% положительных примеров. Поднять ню не получилось. - person expz; 07.10.2017
comment
Спасибо за указание на это. Для полноты, у вас есть ссылка на то, где это указано? - person eickenberg; 10.10.2017
comment
Это указано в ссылке API, на которую есть ссылка в приведенном выше ответе. - person expz; 17.11.2017