2014-11-18 12 views
2

sklearn에서 NuSVC 클래스를 사용하고 있습니다.Nu는 infeasible입니다

self.classifier = OneVsRestClassifier(NuSVC()) 

가 나는 반복적으로 오류 '지정된 뉴가 불가능하다'얻을 것을 발견 : 다음과 같이 NuSVC 개체를 인스턴스화하려고 후. 나는 'nu'매개 변수를 0.1에서 0.1로 늘리려고 시도했지만 (0.1 단위로 증가), 같은 오류가 계속 발생합니다. 나는이 메시지를 해석하는 방법에 대해 정말로 확신하지 못하고 그것을 해결하는 방법을 알고 있습니까? 내가 뉴를 1로 설정하면 뉴가 항상 끈질 기가 있어야한다고 생각하는 훈련 오류의 부분에 대한 상한선을 나타 내기 때문에 작동 할 것이라고 생각했습니다. 무엇이 이것을 일으킬 수 있습니까?

도움 주셔서 감사합니다.

답변

2

완전성을 위해 from the documentation : Nu-SVM은 허용 된 오 분류에 엄격한 경계를 두는 SVM (원래의 재 패러미터 모방까지와 동등)의 구속 된 공식입니다. 이 경계가 만족 될 수 없다면 관련된 볼록 최적화 문제는 실행 불가능하게된다.

이 관점에서 조사해야 할 첫 번째 일은 실제로 얼마나 많은 훈련 오류가 실제로 발생할 수 있는지, 그리고 아마도 가정을 수정하는 것입니다. 그 값을 확인하기 위해 표준 SVM에 대한 C 값의 격자를 검색하십시오.

NuSVC는 엄격하게 1보다 작은 값으로 작동해야합니다. 귀하의 설명에 따르면, 당신은 0.9를 시도했습니다 - 9를 추가하기 시작합니다 (예 : .99, .999). 어떤 점에서 작동하지 않는다면 어딘가에 또 다른 문제가있을 것입니다.

+1

설명서에서 nu는 지원 벡터 분수의 하한이기도합니다. 20 %의 긍정적 인 예를 든 교육 세트에서이 문제가 발생했을 때 나는 0.5에서 0.2로 뉴를 낮추거나 50 %의 긍정적 인 예제로 트레이닝 세트를 재 샘플링해야했습니다. 뉴 올리 기는 효과가 없었습니다. – expz

+0

감사합니다. 완전성을 위해, 이것이 진술 된 곳에 대한 언급이 있습니까? – eickenberg

+1

위의 답변에 링크 된 API 참조에 명시되어 있습니다. – expz