我在Weka GUI中使用选项SMO构建了MultiClassClassifier
,并使用MultilayerPerceptron
作为校准方法。我已经在Eclipse(Java)上测试了多个样本的模型,它在我的PC上运行得非常好。当我尝试在Android上使用相同的分类器时,我得到的错误是由:
没找到 类: “weka.classifiers.functions.MultilayerPerceptron $ ControlPanel控制” 在路径上:DexPathList [[zip文件 “/data/app/mypackage.myapp/base.apk,nativeLibraryDirectories=[/vendor/lib,system/lib] 在 Dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
我在Eclipse Android项目和Java Eclipse项目中使用了相同的Weka(v3.8)Java库。如果我不使用MultilayerPerceptron进行校准,它在Android上运行良好,但结果不如校准分类器的结果好。我也在Weka GUI中将GUI选项关闭,但没有用。
以下是Weka GUI中我的分类器的基本配置设置: weka.classifiers.meta.MultiClassClassifier -M 0 -R 2.0 -S 1 -W weka.classifiers.functions.SMO -- -C 1.0 -L 0.001 -P 1.0E-12 -N 0 -M -V -1 -W 1 -K "weka.classifiers.functions.supportVector.PolyKernel -E 1.0 -C 250007" -calibrator "weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 500 -V 0 -S 0 -E 20 -H a"
MultiClassClassifier设置:
SMO设置:
MultilayerPerceptron设置:
[已解决] 这是否意味着我无法在Android上使用MultilayerPerceptron作为校准方法?
[已解决] 我可以使用不带ControlPanel部件的MultilayerPerceptron构建分类器吗?
[已解决] Weka设置或其他一些方法是否有解决方法可以避免这种情况?
我已经设法从Weka邮件列表中获取了有关情况的一些信息,似乎在使用MultiClassClassifier中使用MultiLayerPerceptron并不是一个简单的解决方案。由于MultilayerPerceptron类使用Android不完全支持的Java .awt包,因此还有另一种可能的解决方案。
Weka有另一个名为MLPClassifier(MultiLayerPerceptronClassifier)的分类器,它没有GUI。这似乎 到目前为止,这是最简单的解决方法。