我希望从Java中执行一个Rapidminer进程,以便将输出ExampleSet (流程结果)用于后续操作(使用Java)。
我使用下面的代码管理流程执行,但我不知道如何获得流程结果示例集。
理想情况下,我希望获得独立于变量的任何示例集,但如果需要预先生成元数据,则必须是。
package com.companyname.rm;
import com.rapidminer.Process;
import com.rapidminer.RapidMiner;
import com.rapidminer.operator.OperatorException;
import com.rapidminer.tools.XMLException;
import java.io.File;
import java.io.IOException;
public class RunProcess {
public static void main(String[] args) {
try {
RapidMiner.setExecutionMode(RapidMiner.ExecutionMode.COMMAND_LINE);
RapidMiner.init();
Process process = new Process(new File("//my_path/..../test_JAVA.rmp"));
process.run();
} catch (IOException | XMLException | OperatorException ex) {
ex.printStackTrace();
}
}
}发布于 2014-11-02 16:22:41
要获得进程的ExampleSet,需要添加
IOContainer ioResult = process.run();从http://allinoneat.blogspot.de/2013/04/integrate-rapidminer-wtih-java.html摘录的一个简短的例子
IOContainer ioResult = process.run();
if (ioResult.getElementAt(0) instanceof ExampleSet) {
ExampleSet resultSet = (ExampleSet) ioResult.getElementAt(0);
for (Example example : resultSet) {
Iterator<Attribute> allAtts = example.getAttributes().allAttributes();
while (allAtts.hasNext()) {
Attribute a = allAtts.next();
if (a.isNumerical()) {
double value = example.getValue(a);
System.out.print(value + " ");
} else {
String value = example.getValueAsString(a);
System.out.print(value + " ");
}
}
System.out.println("\n");
}
}发布于 2014-06-10 01:57:56
选项1:单击上下文,并将流程输出保存到文件中。然后,从文件中阅读。
Option2:
使用WriteAsText保存所需的内容。然后从文件中读取。
我只是把rapidminer作为脚本运行:
http://rapid-i.com/rapidforum/index.php?topic=3009.0
https://stackoverflow.com/questions/23963297
复制相似问题