我需要动态地将文件输入到我的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运算符。
任何帮助将不胜感激
答案 0 :(得分:1)
我假设你的Read CSV
运算符连接到进程的输入端口(左侧的顶部端口,标记为inp
。)如果是,则参数{{1不再使用(它也应该隐藏在UI中)。而是使用发送到输入端口的文件。有两种解决方案:
断开该端口并在代码中设置参数。
保持端口连接并将文件对象发送到进程,因此它从输入端口转到csv file
运算符。像这样修改你的代码:
Read CSV