我同时更新了两个 weka 分类器。
这是我更新第一个分类器的方式:
List(X, Y, action).zipWithIndex.foreach{
case (attrString:String, index)=> attrs.elementAt(index) match{
case attr:Attribute => instance.setValue(attr,attrString)
}
}
这是我更新第二个分类器的方式:
List(X, name, Y).zipWithIndex.foreach{
case (attrString:String, index) => tagattrs.elementAt(index) match{
case attr:Attribute => {
println("Setting taginstance's "+index+"th field to "+attrString)
taginstance.setValue(attr, attrString)
}
}
}
你会注意到唯一的区别(除了我的调试语句)是 /instance/ 应该有属性 /X, Y, action/,而 /taginstance/ 应该有属性 /X, name, Y/
然后: println(instance) println(taginstance)
不幸的是,这就是这两个函数的输出:
Setting taginstance's 0th field to DT
Setting taginstance's 1th field to warm
Setting taginstance's 2th field to JJ
DT,JJ,SHIFT
DT,JJ,?
前三行表明它应该设置正确的值,但如果是这种情况,那么最后一行将显示为 DT、warm、JJ。
有没有搞错!