尝试将 AdaBostM1 weka 分类器与配置用于修剪的 J48 决策树分类器一起使用时,Weka 引发命令行错误
Posted
技术标签:
【中文标题】尝试将 AdaBostM1 weka 分类器与配置用于修剪的 J48 决策树分类器一起使用时,Weka 引发命令行错误【英文标题】:Weka throws comandline error when trying to use AdaBostM1 weka classifier with a J48 decisiontree classifier configured for pruning 【发布时间】:2015-12-16 21:36:43 【问题描述】:我正在尝试运行以下 weka AdaBoostM1 分类器来提升配置用于以下修剪的 J48 树:
java -classpath ./bin/weka.jar weka.classifiers.meta.AdaBoostM1 -P 100 -S 1 -I 10 -W weka.classifiers.trees.J48 -- -C 0.25 -M 2 \ -t ./data/inputfile.arff > ./results/output.txt &
配置字符串是直接从 weka gui 复制的,实际上在那里运行没有任何问题。但是,如果我尝试在命令行上运行相同的配置字符串,weka 会抛出以下错误:
Weka 异常:没有给出训练文件和对象输入文件。
常规选项:
-h 或 -help 输出帮助信息。 -synopsis 或 -info 分类器的输出概要(与 -h 结合使用) -t 设置训练文件。 -T 设置测试文件。如果丢失,...
如果我删除 J48 树分类器后面的参数,即字符串“ -- -C 0.25 -M 2”,那么它可以正常工作:
java -classpath ./bin/weka.jar weka.classifiers.meta.AdaBoostM1 -P 100 -S 1 -I 10 -W weka.classifiers.trees.J48 \ -t ./data/inputfile.arff > ./results/output.txt &
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:看看this post:“你掉进了通常的元分类器陷阱。采用“增强”单个基分类器的元分类器让你指定类名(但不是选项! ) 使用 -W 选项。"
TL;DR:“最简单的方法是在第一个分类器的类名之后插入常规选项,即从命令行运行的分类器。”
【讨论】:
【参考方案2】:(自言自语)
正如 SO 用户 Marcelo Vinicius 所说, 你可以这样称呼它:
java -classpath ./bin/weka.jar weka.classifiers.meta.AdaBoostM1 \
-t ./data/inputfile.arff -P 100 -S 1 -I 10 \
-W weka.classifiers.trees.J48 -- -C 0.25 -M 2 > ./results/output.txt &
将-t Inputfile
选项放在AdaBoostM1 之后
【讨论】:
以上是关于尝试将 AdaBostM1 weka 分类器与配置用于修剪的 J48 决策树分类器一起使用时,Weka 引发命令行错误的主要内容,如果未能解决你的问题,请参考以下文章