我正在尝试使用 Java 代码自动化一些 Weka 分类。尝试读取 csv 文件时出现以下错误:
java.io.IOException:值的数量错误。在 weka.core.converters.CSVLoader.getInstance(CSVLoader.java:747) 的 weka.core.converters.CSVLoader.getInstance(CSVLoader.java:747) 读取 98,预期 97,读取 Token[EOL],第 3 行 weka.core.converters.ConverterUtils.errms(ConverterUtils.java:912) .core.converters.CSVLoader.getDataSet(CSVLoader.java:570) 在 Classifier_Search.readFile(Classifier_Search.java:18) 在 Classifier_Search.main(Classifier_Search.java:178) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at edu.rice.cs.drjava.model.compiler。 JavacCompiler.runCommand(JavacCompiler.java:271)
当我尝试通过 Weka GUI 输入 csv 文件时,我得到了同样的错误。据我所知,该 csv 文件与我在 Weka 中成功使用的其他 csv 文件没有什么不同。关于可能导致此错误的任何想法?
为此,我无法在 OldNabble 上找到令人满意的答案——我尝试了我设法找到的一个建议,但没有奏效。一个建议是将条目封装在双引号中 - 这并没有改变任何东西。
只是为了清楚起见(而且因为我不知道如何上传东西),csv 文件看起来像这样:
C1V1,C2V1,C3V1,...类,
4000.5, 3890.6, 2900.7, ... N,
...
...
每行有 97 个条目。在另一个版本中,我在字符串和字符(在第一行和最后一列)周围有双引号,正如我之前所说,这没有帮助。
谢谢!