LIbSVM of Weka in C# with IKVM
本文关键字:with IKVM in of Weka LIbSVM | 更新日期: 2023-09-27 18:03:39
我在IKVM中使用c#的weka机器学习库。到目前为止,它工作得很好,但是,我在使用libSVM包时遇到了问题。
当我想在c#中实例化libsvm分类器(未找到类)时,问题出现了,因为它被建议:
AbstractClassifier classifier = (AbstractClassifier)java.lang.Class.forName("weka.classifiers.functions.LibSVM").newInstance();
What I tried:
- 添加libsvm.dll和weka.dll到项目中(由libsvm.jar和weka.jar转换而来)
- 将libsvm.jar和weka.jar合并为一个dll并添加到项目中(使用ikvm或ilmerge)
请注意,包已经安装,因为它出现在
的结果中WekaPackageManager.getInstalledPackages();
有没有人成功地使用Weka与LibSVM在c#中使用IKVM?
谢谢,被测试的
我也有同样的问题,但是我从网站上找到了一个解决方案:在这里。
我使用weka.jar(3.6版本),并从weka 3.8获取libsvm包{回家}/wekafiles/包/LibSVM
步骤1。您将需要:weka.jar, LibSVM.jar (LibSVM/LibSVM.jar), LibSVM.jar (LibSVM/lib/LibSVM.jar)。
步骤2。
将Libsvm1.jar重命名为Libsvm1.jar。步骤3。在IKVM中运行:打开命令行,进入IKVM的bin文件夹
ikvmc.exe -sharedclassloader -target:library weka.jar libsvm.jar LibSVM1.jar
步骤4。在c#项目中引用生成的weka.dll。
第5步。c#示例代码
LibSVM svm = new LibSVM();
svm.setOptions(weka.core.Utils.splitOptions("-S 3 -K 2 -D 3 -G 0.0 -R 0.0 -N 0.5 -M 40.0 -C 1.0 -E 0.001 -P 0.1 -seed 1"));
svm.buildClassifier(dataset);