【问题标题】:No class weka.filters.unsupervised.instance.imagefilter.BinaryPatternsPyramidFilter can be located on the Java class path没有类 weka.filters.unsupervised.instance.imagefilter.BinaryPatternsPyramidFilter 可以位于 Java 类路径上
【发布时间】:2018-07-31 16:42:32
【问题描述】:

我正在使用以下包从 Matlab https://github.com/NicholasMcCarthy/wekalab 中调用 Weka 函数

我的代码是

close all; clear all; clc;
dbstop if error

 %%
 javaclasspath('C:\Program Files (x86)\Weka-3-8\weka.jar');
 javaaddpath('C:\Users\PC\wekafiles\packages\imageFilters\imageFilters.jar'); 

 %%
 import weka.filters.*
 import weka.filters.Filter.*
 import weka.filters.unsupervised.instance.imagefilter.*
 import weka.filters.unsupervised.instance.imagefilter.BinaryPatternsPyramidFilter.*
 import weka.classifiers.Classifier.*
 import weka.classifiers.functions.SMO.*
 import weka.classifiers.Evaluation.*
 import weka.core.Attribute.*
 import weka.core.FastVector.*
 import weka.core.Instances.*
 import weka.core.DenseInstance.*
 import weka.classifiers.Classifier.*
 import weka.classifiers.Evaluation.*
 import weka.core.converters.ArffLoader.*
 import weka.filters.unsupervised.instance.imagefilter.*
 import weka.core.converters.ConverterUtils.*;

  D = wekaLoadData('E:\pro\program\selectedPics\character\test.arff', 'ARFF');

  myFilter = wekaFilter('weka.filters.unsupervised.instance.imagefilter.BinaryPatternsPyramidFilter');

  filteredData = wekaApplyFilter(D, myFilter);

当我使用weka的默认过滤器时,

myFilter = wekaFilter('weka.filters.unsupervised.attribute.Standardize');

它工作正常,但是当我使用安装的 weka (imageFilters) 包时,它给了我这个错误

Error using javaObject

没有类 weka.filters.unsupervised.instance.imagefilter.BinaryPatternsPyramidFilter 可以位于 Java 类路径中

图片过滤器(包)路径: C:\Users\PC\wekafiles\packages\imageFilters

weka 路径: C:\Program Files (x86)\Weka-3-8

环境变量及其路径:

类路径

C:\Program Files (x86)\Weka-3-8\weka.jar; C:\Program Files(x86)\Weka-3-8\imageFilters\imageFilters.jar; C:\Users\PC\wekafiles\packages\imageFilters\src\main\java; C:\Users\PC\wekafiles\packages\imageFilters\src\main\java\filters\unsupervised\instance\imagefilter; C:\Users\PC\wekafiles\packages\imageFilters\src\main\java\filters\unsupervised\instance;

java

C:\Program Files\Java\jre1.8.0_181\bin;

路径

C:\Program Files\Java\jdk1.8.0_181\bin;

PATH_HOME

C:\Program Files\Java\jdk1.8.0_181;

【问题讨论】:

    标签: java weka


    【解决方案1】:

    您可以使用 weka.Run 以便在 weka (weka.Run details) 中使用其他包

    在终端上:

    在使用它之前,您可能需要将 weka.jar 文件添加到 CLASSPATH 中:

    export CLASSPATH=path_to_weka.jar
    

    例如,一个使用这个命令的方法:

    java weka.Run weka.filters.unsupervised.instance.imagefilter.BinaryPatternsPyramidFilter -D "directory were files to filter are located" -i "input arff" -o "output arff"
    

    欲了解更多信息,请查看:Weka official documenation

    就我而言,我使用了Weka 3-7-8 的手册。提到的信息位于第 26 页的运行已安装的学习算法下。这可能会因版本而异。

    这里有一份您可能需要的手册列表:Weka manuals for every version

    关于在 Java 上使用它,我没有关于它的信息。我想回答这个问题,因为可能有人需要命令行 Weka 的帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-30
      • 2021-11-22
      • 2011-12-22
      • 2011-02-07
      • 2015-03-14
      • 1970-01-01
      • 2011-10-12
      相关资源
      最近更新 更多