Map<String,Integer> valueEncodingMap = categoricalValueEncodings.getValueEncodingMap(featureNumber); String[] categories = TextUtils.parseDelimited(simpleSetPredicate.getArray().getValue(), ' '); BitSet activeCategories = new BitSet(valueEncodingMap.size()); if (operator == SimpleSetPredicate.BooleanOperator.IS_IN) {
@Override public ElementKey createKey(SimpleSetPredicate simpleSetPredicate){ Array array = simpleSetPredicate.getArray(); Object[] content = {simpleSetPredicate.getField(), simpleSetPredicate.getBooleanOperator(), ArrayUtil.getContent(array)}; return new ElementKey(content); } };
@Override public ElementKey createKey(SimpleSetPredicate simpleSetPredicate){ Array array = simpleSetPredicate.getArray(); Object[] content = {simpleSetPredicate.getField(), simpleSetPredicate.getBooleanOperator(), ArrayUtil.getContent(array)}; return new ElementKey(content); } };
@Override public ElementKey createKey(SimpleSetPredicate simpleSetPredicate){ Array array = simpleSetPredicate.getArray(); Object[] content = {simpleSetPredicate.getField(), simpleSetPredicate.getBooleanOperator(), ArrayUtil.getContent(array)}; return new ElementKey(content); } };
private Predicate transform(SimpleSetPredicate simpleSetPredicate){ Array array = simpleSetPredicate.getArray(); String value = array.getValue(); List<String> tokens = ArrayUtil.parse(value, true); if(tokens.size() != 1){ return simpleSetPredicate; } value = tokens.get(0); SimpleSetPredicate.BooleanOperator booleanOperator = simpleSetPredicate.getBooleanOperator(); switch(booleanOperator){ case IS_IN: return createSimplePredicate(simpleSetPredicate.getField(), SimplePredicate.Operator.EQUAL, value); case IS_NOT_IN: return createSimplePredicate(simpleSetPredicate.getField(), SimplePredicate.Operator.NOT_EQUAL, value); default: break; } return simpleSetPredicate; }
Map<String,Integer> valueEncodingMap = categoricalValueEncodings.getValueEncodingMap(featureNumber); String[] categories = TextUtils.parseDelimited(simpleSetPredicate.getArray().getValue(), ' '); BitSet activeCategories = new BitSet(valueEncodingMap.size()); if (operator == SimpleSetPredicate.BooleanOperator.IS_IN) {
@Override public VisitorAction accept(Visitor visitor) { VisitorAction status = visitor.visit(this); if (status == VisitorAction.CONTINUE) { visitor.pushParent(this); if ((status == VisitorAction.CONTINUE)&&hasExtensions()) { status = PMMLObject.traverse(visitor, getExtensions()); } if (status == VisitorAction.CONTINUE) { status = PMMLObject.traverse(visitor, getArray()); } visitor.popParent(); } if (status == VisitorAction.TERMINATE) { return VisitorAction.TERMINATE; } return VisitorAction.CONTINUE; }
static public Boolean evaluateSimpleSetPredicate(SimpleSetPredicate simpleSetPredicate, EvaluationContext context){ FieldName name = simpleSetPredicate.getField(); if(name == null){ throw new MissingAttributeException(simpleSetPredicate, PMMLAttributes.SIMPLESETPREDICATE_FIELD); } SimpleSetPredicate.BooleanOperator booleanOperator = simpleSetPredicate.getBooleanOperator(); if(booleanOperator == null){ throw new MissingAttributeException(simpleSetPredicate, PMMLAttributes.SIMPLESETPREDICATE_BOOLEANOPERATOR); } FieldValue value = context.evaluate(name); if(Objects.equals(FieldValues.MISSING_VALUE, value)){ return null; } Array array = simpleSetPredicate.getArray(); if(array == null){ throw new MissingElementException(simpleSetPredicate, PMMLElements.SIMPLESETPREDICATE_ARRAY); } switch(booleanOperator){ case IS_IN: return value.isIn(simpleSetPredicate); case IS_NOT_IN: return !value.isIn(simpleSetPredicate); default: throw new UnsupportedAttributeException(simpleSetPredicate, booleanOperator); } }
@Override public VisitorAction accept(Visitor visitor) { VisitorAction status = visitor.visit(this); if (status == VisitorAction.CONTINUE) { visitor.pushParent(this); if ((status == VisitorAction.CONTINUE)&&hasExtensions()) { status = PMMLObject.traverse(visitor, getExtensions()); } if (status == VisitorAction.CONTINUE) { status = PMMLObject.traverse(visitor, getArray()); } visitor.popParent(); } if (status == VisitorAction.TERMINATE) { return VisitorAction.TERMINATE; } return VisitorAction.CONTINUE; }