2014-06-24 59 views
0

當我嘗試向Weka輸入CSV文件時,出現不友好的ArrayOutOfBoundsException。但是,當我在GUI中使用相同的功能時,它工作正常。Weka:數組索引超出範圍的CSV文件異常

[email protected]~$ java -Xmx2048m -cp weka.jar weka.classifiers.functions.Logistic -R 1.0E-8 -M -1 -t "some.csv" -d temp.model 

Refreshing GOE props... 
[KnowledgeFlow] Loading properties and plugins... 
[KnowledgeFlow] Initializing KF... 
java.lang.ArrayIndexOutOfBoundsException: 1 
    weka.classifiers.evaluation.Evaluation.setPriors(Evaluation.java:3843) 
    weka.classifiers.evaluation.Evaluation.evaluateModel(Evaluation.java:1503) 
    weka.classifiers.Evaluation.evaluateModel(Evaluation.java:650) 
    weka.classifiers.AbstractClassifier.runClassifier(AbstractClassifier.java:359) 
    weka.classifiers.functions.Logistic.main(Logistic.java:1134) 

    at weka.classifiers.evaluation.Evaluation.setPriors(Evaluation.java:3843) 
    at weka.classifiers.evaluation.Evaluation.evaluateModel(Evaluation.java:1503) 
    at weka.classifiers.Evaluation.evaluateModel(Evaluation.java:650) 
    at weka.classifiers.AbstractClassifier.runClassifier(AbstractClassifier.java:359) 
    at weka.classifiers.functions.Logistic.main(Logistic.java:1134) 

回答

0

原來Weka的新版本並未通過命令行處理CSV文件。有兩種選擇:

  1. 還原爲較早版本的Weka。 3.6.11適合我,而3.7.11不適合我。
  2. 將CSV文件轉換爲ARFF。它可以使用Weka GUI完成。