当我使用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
正确的方法执行此操作,如果是这样,我该如何解决此错误?
答案 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