Weka数字类多层感知器

时间:2014-11-27 03:21:33

标签: weka

我正在使用weka界面使用MultilayerPerceptron进行分类。

我的班级是数字,我现在正尝试从命令行进行分类......所以我可以让计算机使用大量文件进行模拟。

我试图使用

java -classpath weka.jar weka.classifiers.meta.FilteredClassifier -t ~/Desktop/arff/3x3-noextra.arff -W weka.classifiers.functions.MultilayerPerceptron -- -L 0.4 -M 0.5 -N 500 -V 0 -S 0 -E 20 -H a

命令作为测试,但由于我的类是数字,我得到:

weka.core.UnsupportedAttributeTypeException: weka.filters.supervised.attribute.Discretize: Cannot handle numeric class!
    at weka.core.Capabilities.test(Capabilities.java:954)
    at weka.core.Capabilities.test(Capabilities.java:1110)
    at weka.core.Capabilities.test(Capabilities.java:1023)
    at weka.core.Capabilities.testWithFail(Capabilities.java:1302)
    at weka.filters.Filter.testInputFormat(Filter.java:434)
    at weka.filters.Filter.setInputFormat(Filter.java:452)
    at weka.filters.supervised.attribute.Discretize.setInputFormat(Discretize.java:286)
    at weka.classifiers.meta.FilteredClassifier.buildClassifier(FilteredClassifier.java:389)
    at weka.classifiers.Evaluation.evaluateModel(Evaluation.java:1149)
    at weka.classifiers.Classifier.runClassifier(Classifier.java:315)
    at weka.classifiers.meta.FilteredClassifier.main(FilteredClassifier.java:478)

错误,

在界面上它是自动的,我不需要什么都不处理,我怎么能用命令行呢?

2 个答案:

答案 0 :(得分:1)

我只是在猜测:

默认情况下,FilteredClassifier具有-F参数,该参数未在命令行中定义。也许根据模型的要求添加此参数和过滤器参数将克服Weka中出现的Discretize错误。

希望这有帮助!

答案 1 :(得分:0)

我做了一些愚蠢的事情,我只需要多层感知器。

我用:

解决了这个问题
java -classpath weka.jar  weka.classifiers.functions.MultilayerPerceptron  -L 0.3 -M 0.5 -N 500 -V 0 -S 0 -E 20 -H a

只需调用多层。