通过Java动态地向RapidMiner添加输入

时间:2014-02-17 07:08:59

标签: java rapidminer

我需要动态地将文件输入到我的java应用程序中并使用rapidminer进行分类。我有以下代码:

RapidMiner.setExecutionMode(RapidMiner.ExecutionMode.COMMAND_LINE);
          RapidMiner.init();

          Process process = new Process(new File("C:\\Users\\nelze\\.RapidMiner5      \\repositories\\WalkingRepo\\NaiveClassify.rmp"));
          Operator op = process.getOperator("Read CSV");
          op.setParameter(com.rapidminer.operator.nio.CSVExampleSource.PARAMETER_CSV_FILE, "C:\\Users\\nelze\\unlabeled (2).csv");
          //ioInput.append(op);
          IOContainer ioResult = process.run();
          ExampleSet resultSet1 = (ExampleSet)ioResult.getElementAt(0);
          Iterator<Attribute> allAttributes = resultSet1.getAttributes().allAttributes();

但是,当我运行它时,它总是说“输入文件未定义。”

在我的RapidMiner流程中,输入端口连接到READ CSV运算符。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

我假设你的Read CSV运算符连接到进程的输入端口(左侧的顶部端口,标记为inp。)如果是,则参数{{1不再使用(它也应该隐藏在UI中)。而是使用发送到输入端口的文件。有两种解决方案:

  1. 断开该端口并在代码中设置参数。

  2. 保持端口连接并将文件对象发送到进程,因此它从输入端口转到csv file运算符。像这样修改你的代码:

    Read CSV