连接脚本输出以提取性能

时间:2016-05-16 15:25:25

标签: rapidminer

当我使用Execute Script运算符时,其中有一个输入弧且此输入的类型为ExampleSet,我运行,例如,单行脚本return operator.getInput(ExampleSet.class),以及然后将输出连接到Extract Performance运算符,该运算符输入ExampleSet,我收到错误:Mandatory input missing at port Performance.example set

我的目标是通过RapidProm扩展程序附带的Analyse soundness运算符检查Petri网的稳健性,并将第一行的第一个属性更改为0或1,具体取决于是否字符串匹配"是声音",因此我可以使用Extract Performance并使用Average将其与其他表演结合起来。

使用Execute Script正确的方法执行此操作,如果是这样,我该如何解决此错误?

1 个答案:

答案 0 :(得分:1)

首先:不要为错误Mandatory input missing at port Performance.example set而烦恼 它将在您运行模型时解决。

其次:确实有点难看,检查运算符的输出 模型的健全性,因为它是一个看起来很长的字符串 Woflan网络诊断" d1cf46bd-15a9-4801-9f02-946a8f125eaf" - 网络是声音Woflan诊断结束

你确实可以使用执行脚本来解决这个问题:) 请参阅下面的脚本! 输出是一个示例集,如果模型是正确的,则返回1,否则返回0。此外,我喜欢使用一些日志操作符将其转换为一个可用于文档目的的好表。

ExampleSet input = operator.getInput(ExampleSet.class);

    for (Example example : input) {
    String uglyResult = example["att1"];
    String soundResult = "The net is sound";
    Boolean soundnessCheck = uglyResult.toLowerCase().contains(soundResult.toLowerCase());
    if (soundnessCheck){
        example["att1"] = "1"; //the net is sound :)
    } else {
        example["att1"] = "0"; //the net is not sound!
    }
}
return input;

另请参阅我创建的附加示例模型。 RapidMiner Setup