MEr*_*ric 6 python svm svc scikit-learn
我在sklearn中使用NuSVC类。尝试实例化NuSVC对象后,如下所示:
self.classifier = OneVsRestClassifier(NuSVC())
Run Code Online (Sandbox Code Playgroud)
我发现我反复收到“指定的nu是不可行的”错误。我尝试将'nu'参数从0.1一直更改为1(以0.1为增量),但是我仍然遇到相同的错误。我真的不确定如何解释此消息,以及如何解决它?我认为,如果将nu设置为1,那将是可行的,因为nu代表了训练误差部分的上限,我认为该误差应该始终成立。是什么原因造成的?
谢谢您的帮助!
为了完整起见,来自文档:Nu-SVM 是 SVM 的约束公式(相当于重新参数化的原始公式),它对允许的错误分类提出了硬限制。如果这个界限不能被满足,那么相关的凸优化问题就变得不可行。
从这个角度来看,您必须调查的第一件事是您真正可以预期有多少训练错误,并且可能会修改您的假设。搜索C标准 SVM的值网格以进行检查。
但是,NuSVC 应该使用一些严格小于 1 的值。根据你的描述,你试过0.9——开始加9,即0.99、0.999。如果它在某个时候不起作用,那么一定是某个地方存在另一个问题。
| 归档时间: |
|
| 查看次数: |
7759 次 |
| 最近记录: |