我從命令行運行WEKA以創建用於訓練的貝葉斯網絡模型,然後使用此模型在單獨的數據集上進行測試。貝葉斯網絡使用TAN搜索選項和一個簡單的估計器。我的命令行調用培訓看起來是這樣的:在WEKA中使用帶有貝葉斯網絡的FilteredClassifier
java -cp weka.jar:mysql-connector-java-5.0.8-bin.jar
weka.classifiers.bayes.BayesNet -d BN_model -p 0 -distribution -t tr2.arff -D
-Q weka.classifiers.bayes.net.search.local.TAN -- -S BAYES
-E weka.classifiers.bayes.net.estimate.SimpleEstimator -- -A 1 > tr_preds
現在,我才意識到我需要使用一個FilteredClassifier,因爲我想實例ID添加到我的測試數據。這是我卡住的地方。我運行以下命令:
java -cp weka.jar:mysql-connector-java-5.0.8-bin.jar
weka.classifiers.meta.FilteredClassifier
-F weka.filters.unsupervised.attribute.Remove -R 1
-W weka.classifiers.bayes.BayesNet -d BN_model -p 1 -distribution -t tr2.arff -D
-Q weka.classifiers.bayes.net.search.local.TAN -- -S BAYES
-E weka.classifiers.bayes.net.estimate.SimpleEstimator -- -A 1 > tr_preds
,我得到以下錯誤:
Weka exception: Illegal options: -S BAYES
麻煩拍攝,我刪除了所有花哨的搜索選項和估計,僅僅跑了默認設置貝葉斯網絡分類器。這工作得很好,但顯然不是我所需要的。很明顯,我在正確構建這個命令行語句時遇到了問題。
你能告訴我我做錯了什麼嗎?非常感謝!
最佳, 舊金山
謝謝!我最終因命令行語法而感到沮喪,所以我改用了xml選項。在擺弄這些之後,我意識到我的問題與你所提到的完全相同。 – Francisco 2013-03-11 17:56:53