2016-08-24 76 views
0

我在C#中使用weka机器学习库,其中IKVM。到目前为止,它工作得很好,但是,我使用libSVM软件包时遇到了问题。Weka在C#中使用IKVM的LIbSVM

,当我想要实例在C#中LIBSVM分类(类未找到),因为它是建议将出现问题:

AbstractClassifier classifier = (AbstractClassifier)java.lang.Class.forName("weka.classifiers.functions.LibSVM").newInstance();  

我试了一下:

  • 添加的libsvm.dll和weka.dll到项目
  • 合并libsvm.jar(从libsvm.jar和weka.jar转换)和weka.jar成一个DLL和它添加到项目(使用IKVM或ilmerge)

注意,可以安装包,因为它出现在

WekaPackageManager.getInstalledPackages(); 

结果有没有人使用的每个IKVM在C#中使用的Weka与LIBSVM成功了吗?

感谢, Botond

回答

0

我哈瓦同样的问题,但是我发现从网站的解决方案:here

我用weka.jar(3.6版),并从WEKA获得LIBSVM包3.8 {HOME}/wekafiles /包/ LIBSVM

第1步:你将需要:weka.jar,Libsvm.jar( LibSVM/LibSVM.jar),libsvm.jar(LibSVM/lib/libsvm.jar)。

第2步。将Libsvm.jar重命名为Libsvm1.jar。

第3步:在IKVM运行:打开命令行,然后转到IKVM的bin文件夹

ikvmc.exe -sharedclassloader -target:library weka.jar libsvm.jar LibSVM1.jar 

4步。引用在C#项目的生成weka.dll。在c#

步骤5.Sample代码

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);