gpt4 book ai didi

java - 在 Java 应用程序中集成 RapidMiner

转载 作者:搜寻专家 更新时间:2023-10-31 20:03:52 26 4
gpt4 key购买 nike

我在 RapidMiner 中有一个文本分类过程。它从指定的excel ssheet中读取测试数据并进行分类。我还有一个小型 Java 应用程序,它正在运行这个进程。现在我想在我的应用程序中制作文件输入部分,这样每次我都能够从我的应用程序(而不是 RapidMiner)中指定 excel 文件。有什么提示吗?

这是代码:

import com.rapidminer.RapidMiner;
import com.rapidminer.Process;
import com.rapidminer.example.Attribute;
import com.rapidminer.example.Example;
import com.rapidminer.example.ExampleSet;
import com.rapidminer.operator.IOContainer;
import com.rapidminer.operator.Operator;
import com.rapidminer.operator.OperatorException;



import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import com.rapidminer.operator.io.ExcelExampleSource;
import com.rapidminer.tools.XMLException;


public class Classification {

public static void main(String [] args) throws Exception{
ExampleSet resultSet1 = null;
IOContainer ioInput = null;
IOContainer ioResult;
try {
RapidMiner.setExecutionMode(RapidMiner.ExecutionMode.COMMAND_LINE);
RapidMiner.init();
Process pr = new Process(new File("C:\\Users\\MP-TEST\\Desktop\\Rapid_Test\\Wieder_Model.rmp"));
Operator op = pr.getOperator("Read Excel");
op.setParameter(ExcelExampleSource.PARAMETER_EXCEL_FILE, "C:\\Users\\MP-TEST\\Desktop\\Rapid_Test\\HaendlerRatings_neu.xls");
ioResult = pr.run(ioInput);
if (ioResult.getElementAt(0) instanceof ExampleSet) {
resultSet1 = (ExampleSet)ioResult.getElementAt(0);

for (Example example : resultSet1) {
Iterator<Attribute> allAtts = example.getAttributes().allAttributes();
while(allAtts.hasNext()) {
Attribute a = allAtts.next();
if (a.isNumerical()) {
double value = example.getValue(a);
System.out.println(value);

} else {
String value = example.getValueAsString(a);
System.out.println(value);
}
}
}
}
} catch (IOException | XMLException | OperatorException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}




}
}

这是错误:

Apr 09, 2013 9:06:05 AM com.rapidminer.Process run
INFO: Process C:\Users\MP-TEST\Desktop\Rapid_Test\Wieder_Model.rmp starts
com.rapidminer.operator.UserError: A value for the parameter 'excel_file' must be specified!
at com.rapidminer.operator.nio.model.ExcelResultSetConfiguration.makeDataResultSet(ExcelResultSetConfiguration.java:316)
at com.rapidminer.operator.nio.model.AbstractDataResultSetReader.createExampleSet(AbstractDataResultSetReader.java:127)
at com.rapidminer.operator.io.AbstractExampleSource.read(AbstractExampleSource.java:52)
at com.rapidminer.operator.io.AbstractExampleSource.read(AbstractExampleSource.java:1)
at com.rapidminer.operator.io.AbstractReader.doWork(AbstractReader.java:126)
at com.rapidminer.operator.Operator.execute(Operator.java:855)
at com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:51)
at com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:711)
at com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:379)
at com.rapidminer.operator.Operator.execute(Operator.java:855)
at com.rapidminer.Process.run(Process.java:949)
at com.rapidminer.Process.run(Process.java:873)
at com.rapidminer.Process.run(Process.java:832)
at com.rapidminer.Process.run(Process.java:827)
at Classification.main(Classification.java:29)

最好的问候

亚美尼亚人

最佳答案

对我来说很好:

  • Download Rapidminer (并解压缩文件)
  • 进入“lib”目录,你需要:
    1. rapidminer.jar
    2. 启动器.jar
    3. “/lib/freehep”目录中的所有 jar。
  • 将库 1、2 和 3 放入类路径 java 项目(库)
  • 复制这段代码并运行:


import com.rapidminer.Process;
import com.rapidminer.RapidMiner;
import com.rapidminer.operator.Operator;
import com.rapidminer.operator.OperatorException;
import com.rapidminer.operator.io.ExcelExampleSource;
import com.rapidminer.tools.XMLException;
import java.io.File;
import java.io.IOException;
import java.lang.Object;

public class ReadRapidminerProcess {
public static void main(String[] args) {
try {
RapidMiner.setExecutionMode(RapidMiner.ExecutionMode.COMMAND_LINE);
RapidMiner.init();

Process process = new Process(new File("/your_path/your_file.rmp"));
process.run();

} catch (IOException | XMLException | OperatorException ex) {
ex.printStackTrace();
}
}
}

希望能帮到你,我查了很多才找到答案。

关于java - 在 Java 应用程序中集成 RapidMiner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15834182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com