如何更改 LibSVM 中的 SVM 内核?
Posted
技术标签:
【中文标题】如何更改 LibSVM 中的 SVM 内核?【英文标题】:How do I change the SVM kernel in LibSVM? 【发布时间】:2015-01-16 13:57:22 【问题描述】:我有这个代码:
LibSVM classifier = new LibSVM();
classifier.setKernelType(null);
我想将其设置为线性内核。但是,我似乎无法更改参数,因为它需要 SelectedTag 值。如何实例化此类?
我已阅读KERNELTYPE_LINEAR 上的文档。
【问题讨论】:
【参考方案1】:我通过这样做解决了它:
LibSVM classifier = new LibSVM();
classifier.setKernelType(new SelectedTag(LibSVM.KERNELTYPE_LINEAR, LibSVM.TAGS_KERNELTYPE));
【讨论】:
【参考方案2】:import libsvm.svm_parameter; // import this header
LibSVM svm = new LibSVM();
svm_parameter pre= new svm_parameter();
pre.kernel_type= svm_parameter.POLY;
pre.gamma= 3;
pre.degree=1;`
svm.setParameters(pre);
svm.buildClassifier(data);
【讨论】:
我不能评论这个答案的相对正确性,而不是更早、更简单、我已经完成的答案,但我不能让你的答案代码注释立场:'//导入此标头'。这不是 C,并且“import”语句不会“导入”任何“header”;它指示编译器在指定的命名空间中搜索所需的类。只是在说'。 ;-)以上是关于如何更改 LibSVM 中的 SVM 内核?的主要内容,如果未能解决你的问题,请参考以下文章
libsvm liblinear 如何使用直方图交集/卡方内核