我刚刚开始学习一些关于 PMML 的知识,我认为TreeModel几乎符合我想要实现的目标,但是我有一个问题我无法通过阅读文档来解决:
是否可以让 TreeModel 返回多个值?我找到了 TreeModels 的一些示例,但它们都只声明了一个“预测”字段,我需要的是,如果节点的谓词评估为 TRUE ,则模型返回多个值。这甚至可能吗?如果是这样,您将如何实施?
编辑
添加了我想要实现的示例:
在评分程序部分的 TreeModel 文档中,有一个名为“打高尔夫球”的 TreeModel 示例。在那个例子中,如果我错了,请更正,一旦模型被评估,告诉哪个值将分配给字段(预测)“whatIdo”的逻辑结构可以这样表达:
if(outlook=="sunny") {
whatIdo="will play";
if(temperature<90 AND temperature>50){
whatIdo="will play";
if(humidity<80){
whatIdo="will play";
}
else if(humidity>=80){
whatIdo="no play";
}
}
else if(temperature>=90 OR temperature<=50){
whatIdo="no play";
}
}
else if(outlook=="overcast" OR outlook=="rain"){
whatIdo="may play";
if(temperature > 60 AND temperature < 100 AND outlook="overcast" AND humidity <70 AND windy="false"){
whatIdo="may play";
}
else if(outlook=="rain" AND humidity<70 ){
whatIdo="no play";
}
}
我需要知道的是,除了whatIdo字段之外,我是否可以返回其他值,例如一个名为“ whatElseIdo ”的附加字段。是否可以创建一个 PMML 模型,例如基于“打高尔夫球”模型,返回一个额外的字段,如下条件:
if(outlook=="sunny") {
whatIdo="will play";
whatElseIdo="will have a picnic";
if(temperature<90 AND temperature>50){
whatIdo="will play";
whatElseIdo="will have a picnic";
if(humidity<80){
whatIdo="will play";
whatElseIdo="will have a picnic";
}
else if(humidity>=80){
whatIdo="no play";
whatElseIdo="no have a picnic";
}
}
else if(temperature>=90 OR temperature<=50){
whatIdo="no play";
whatElseIdo="no have a picnic";
}
}
else if(outlook=="overcast" OR outlook=="rain"){
whatIdo="may play";
whatElseIdo="may have a picnic";
if(temperature > 60 AND temperature < 100 AND outlook="overcast" AND humidity <70 AND windy="false"){
whatIdo="may play";
whatElseIdo="may have a picnic";
}
else if(outlook=="rain" AND humidity<70 ){
whatIdo="no play";
whatElseIdo="no have a picnic";
}
}
谢谢。