BBB SimpleCLI
2019.03.14 SSU


SMOTE

java weka.filters.supervised.instance.SMOTE -i "D:\Lab\SSU\BBB_project\padel\20190312_PubChem-haveActive_Cut1.csv" -C 0 -K 5 -P 262.77 -S 1 > "D:\Lab\SSU\test.csv"
((結果無檔案,還需再嘗試))


SpreadSubsample

java weka.filters.supervised.instance.SpreadSubsample -i D:/Lab/SSU/BBB_project/padel/20190312_SubstructureCount-haveActive_Cut1.csv -S 1 -M 1.0 -X 0.0 > D:/Lab/SSU/output.arff
((出來有檔案,但檔案內無資料,會顯示Class attribute not set! ,還需再嘗試))

嘗試以下兩步驟,還是會出現 Class attribute not set!
java weka.filters.unsupervised.attribute.ClassAssigner -C last -i D:/Lab/SSU/BBB_project/padel/20190312_SubstructureCount-haveActive_Cut1.csv > D:/Lab/SSU/output1.arff
java weka.filters.supervised.instance.SpreadSubsample -S 1 -M 1.0 -X 0.0 -i D:/Lab/SSU/output1.arff > D:/Lab/SSU/output2.arff

((↓ 可能能嘗試script (Executes commands from a script file)或使步驟合併,目前 | (pipe line) 嘗試過無法 ↓))
java weka.filters.unsupervised.attribute.ClassAssigner -C last -i D:/Lab/SSU/BBB_project/padel/20190312_SubstructureCount-haveActive_Cut1.csv | weka.filters.supervised.instance.SpreadSubsample -S 1 -M 1.0 -X 0.0 > D:/Lab/SSU/output.arff
((↓ 下行方法也無法,也有可能是ClassAssigner無法用在SimpleCLI ↓))
java [weka.filters.unsupervised.attribute.ClassAssigner -C last] [weka.filters.supervised.instance.SpreadSubsample -S 1 -M 1.0 -X 0.0] -i D:/Lab/SSU/BBB_project/padel/20190312_SubstructureCount-haveActive_Cut1.csv > D:/Lab/SSU/output.arff



RandomForest

java weka.classifiers.trees.RandomForest -t "D:\Lab\SSU\BBB_project\padel\20190312_PubChem-haveActive_Cut1.csv" -P 100 -I 100 -num-slots 1 -K 0 -M 1.0 -V 0.001 -S 1
不過當設定為預設時,可以省略後面分類器的參數,簡單使用以下形式:
java weka.classifiers.trees.RandomForest -t "D:\Lab\SSU\BBB_project\padel\out of use\20190312_PubChem-haveActive_Cut1.csv"


SGD

java weka.classifiers.functions.SGD -t "D:\Lab\SSU\BBB_project\padel\20190312_PubChem-haveActive_Cut1.csv" -F 0 -L 9.893102543189347E-5 -R 1.8955284697637686E-10 -E 500 -C 0.001 -M -S 1
SGD introduction



最後不使用SimpleCLI,原因:

當使用他的-t (training data) -T (test data)參數做預測時
java weka.classifiers.trees.RandomForest -t "訓練數據集的絕對路徑" -T "測試數據集的絕對路徑"
出來的結果會是非以cross validation做出的結果
((-t -T 會使資料變成Use training set / Supplied test set,除非先將model存出))

更新:

存出model的方法

java weka.classifiers.trees.RandomForest -t "訓練數據集的絕對路徑" -d "要存model的路徑\檔名.model"

以讀入model做資料測試的方法

java weka.classifiers.trees.RandomForest "*.model檔案的絕對路徑" -T "測試數據集的絕對路徑"





其他參考網站:
Weka Wiki
WEKA使用教程