从命令行运行 weka - 找不到类 NaiveBayes

Posted

技术标签:

【中文标题】从命令行运行 weka - 找不到类 NaiveBayes【英文标题】:Running weka from command line - cannot find class NaiveBayes 【发布时间】:2011-08-21 20:24:30 【问题描述】:

我正在尝试从命令行运行 Weka 分类,但我的代码:

java weka.classifiers.bayes.NaiveBayes -t file1.arff -T file2.arff -p

出现错误信息:

“找不到主类:weka.classifiers.bayes.NaiveBayes。程序将退出。”

我在包含 weka.jar 的目录中运行命令。 怎么找不到分类器?

【问题讨论】:

【参考方案1】:

WEKA 的自述文件

路径解决方案

你可以修改你的~/.bash_profile

export R_HOME="/Applications/R.app/Contents/MacOS/R"    #for WEKA MLR R plugin 
export CLASSPATH="/Applications/weka-3-9-1/weka.jar"    #for WEKA commandline
export WEKAINSTALL="/Applications/weka-3-9-1"

export WEKA_HOME="/Applications/weka-3-9-1"
export CLASSPATH=$CLASSPATH;$WEKA_HOME/weka.jar
export HEAP_OPTION=-Xms4096m -Xmx8192m
export JAVA_COMMAND java $HEAP_OPTION

然后你应该可以运行了

java weka.classifiers.bayes.NaiveBayes -t $WEKAINSTALL/data/iris.2D.arff -T $WEKAINSTALL/data/iris.2D.arff 

【讨论】:

【参考方案2】:

尝试添加一个显式的类路径,例如

java -cp ./weka.jar weka.classifiers.bayes.NaiveBayes -t file1.arff -T file2.arff -p

有些JVM不会推断出你需要的jar文件在当前目录下。

【讨论】:

以上是关于从命令行运行 weka - 找不到类 NaiveBayes的主要内容,如果未能解决你的问题,请参考以下文章

WEKA - 多类分类 - 找不到名为:weka.classifiers.functions.supportVector.RegSMOImproved 的类

找不到 MySQL - 尝试从命令行访问 MySQL 时出现“找不到命令”错误

python命令行运行py文件找不到模块的解决办法

Weka 从命令行预测到 CSV

Weka 简单的 K-means 聚类分配

spark-submit 找不到类 - htrace