2016-08-24 77 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);