【发布时间】:2015-11-05 08:57:05
【问题描述】:
我刚刚开始学习一些有关 PMML 的知识,我认为 TreeModel 几乎符合我想要实现的目标,但我有一个我无法通过阅读文档来解决的问题:
是否可以让 TreeModel 返回多个值?我找到了 some examples of TreeModels,但它们都只声明了一个“预测”字段,我需要的是,如果谓词一个节点的计算结果为 TRUE ,模型返回多个值。这甚至可能吗?如果是这样,您将如何实施?
编辑
添加了我想要实现的示例:
在 计分程序 部分的 documentation for the TreeModel 中,有一个名为“golfing”的 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 模型,例如基于“golfing”模型,返回一个额外的字段,如下条件:
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";
}
}
谢谢。
【问题讨论】:
标签: xml machine-learning classification prediction pmml