连接脚本输出以提取性能

Connecting output of script to extract performance

当我使用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,具体取决于这个字符串是否匹配 "is sound",所以我可以使用 Extract Performance 并使用 Average.

将它与其他表演结合起来

使用 Execute Script 执行此操作是否正确,如果是,我应该如何解决此错误?

首先:错误不用在意Mandatory input missing at port Performance.example set 当您 运行 模型时,它将得到解决。

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

你确实可以使用执行脚本来解决这个问题:) 看下面的脚本! 输出是一个示例集,如果模型是正确的,则 returns 1,否则 0。此外,我喜欢使用一些日志运算符将其转换为对文档有用的 table。

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