如何定义新的exampleSetOutPut格式?

时间:2013-02-20 06:02:42

标签: java rapidminer

创建新运营商时,我们创建输入端口以接收数据和输出端口以传递数据。对于每个输入端口,我们修复其数据类型,如:

 exampleSetInput.addPrecondition (
     new ExampleSetPrecondition (
         exampleSetInput,
         Ontology.ATTRIBUTE_VALUE));

我们还定义了输出端口数据类型,如:

getTransformer().addPassThroughRule (
    exampleSetInput, exampleSetOutput);

此条件将生成与输入相同的输出数据类型和格式。我的问题是如何定义与输入无关的新输出格式和数据类型。例如,输入格式有数值数据类型和四个属性,我希望输出数据是String类型和新的两个属性。

1 个答案:

答案 0 :(得分:0)

好吧,我在快速采矿社区“如何扩展rapidminer”中找到了交付文档中的解决方案。它包括在定义端口规则时在构造函数中使用以下函数:

getTransformer().addRule(new ExampleSetPassThroughRule(exampleSetInput, exampleSetOutPut,    SetRelation.SUBSET) {
        @Override
        public ExampleSetMetaData modifyExampleSet(ExampleSetMetaData metaData) throws UndefinedParameterError {
            metaData.removeAllAttributes();//This will remove all input attribtes
            metaData.addAttribute(new AttributeMetaData("item", Ontology.STRING));//here the creation of new attribute 

            return metaData;
        }
    });

您还可以根据需要修改输入属性名称或类型。