【问题标题】:LIbSVM of Weka in C# with IKVM带有 IKVM 的 C# 中 Weka 的 LIbSVM
【发布时间】:2016-12-31 04:04:39
【问题描述】:

我在 C# 中使用 weka 机器学习库和 IKVM。到目前为止,它运行得很好,但是,我在使用 libSVM 包时遇到了问题。

当我想在C#中实例化libsvm分类器时出现问题(找不到类),建议:

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

我尝试了什么:

  • 将 libsvm.dll 和 weka.dll 添加到项目中(从 libsvm.jar 和 weka.jar 转换而来)
  • 将 libsvm.jar 和 weka.jar 合并为一个 dll 并将其添加到项目中(使用 ikvm 或 ilmerge)

请注意,该软件包已安装,因为它出现在

的结果中
WekaPackageManager.getInstalledPackages();

有没有人通过 IKVM 在 C# 中使用 Weka 和 LibSVM 成功?

谢谢, 波顿

【问题讨论】:

    标签: c# reflection weka libsvm ikvm


    【解决方案1】:

    我有同样的问题,但我从网站上找到了解决方案:here

    我使用 weka.jar(版本 3.6)并从 weka 3.8 获取 libsvm 包 {HOME}/wekafiles/packages/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。

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

    【讨论】:

      猜你喜欢
      • 2011-07-10
      • 2014-07-03
      • 2015-06-16
      • 2015-01-16
      • 2016-07-23
      • 2012-07-30
      • 2021-11-08
      • 2012-07-27
      • 2018-09-15
      相关资源
      最近更新 更多