Я хочу выполнить процесс Rapidminer с Java, чтобы использовать вывод ExampleSet (Process Result) для последующих операций (с 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();
}
}
}
Чтобы получить 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");
}
}
Вариант 1: щелкните контекст и сохраните вывод процесса в файлы. Затем читайте из файлов.
Option2:
Используйте WriteAsText, чтобы сохранить то, что вы хотите. Затем читайте из файла.
Я просто запускаю quickminer как скрипт: