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?

谢谢,被测试的

LIbSVM of Weka in C# with 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);