/** * Create an instance of {@link RuleSet } * */ public RuleSet createRuleSet() { return new RuleSet(); }
public RuleSet addRuleSelectionMethods(RuleSelectionMethod... ruleSelectionMethods) { getRuleSelectionMethods().addAll(Arrays.asList(ruleSelectionMethods)); return this; }
public RuleSet addRules(Rule... rules) { getRules().addAll(Arrays.asList(rules)); return this; }
@Override public VisitorAction accept(Visitor visitor) { VisitorAction status = visitor.visit(this); if (status == VisitorAction.CONTINUE) { visitor.pushParent(this); if ((status == VisitorAction.CONTINUE)&&hasExtensions()) { status = org.dmg.pmml.PMMLObject.traverse(visitor, getExtensions()); } if ((status == VisitorAction.CONTINUE)&&hasRuleSelectionMethods()) { status = org.dmg.pmml.PMMLObject.traverse(visitor, getRuleSelectionMethods()); } if ((status == VisitorAction.CONTINUE)&&hasScoreDistributions()) { status = org.dmg.pmml.PMMLObject.traverse(visitor, getScoreDistributions()); } if ((status == VisitorAction.CONTINUE)&&hasRules()) { status = org.dmg.pmml.PMMLObject.traverse(visitor, getRules()); } visitor.popParent(); } if (status == VisitorAction.TERMINATE) { return VisitorAction.TERMINATE; } return VisitorAction.CONTINUE; }
@Override public RuleSetModel encodeModel(Schema schema){ String defaultScore = getDefaultScore(); List<Object[]> rules = getRules(); Label label = schema.getLabel(); List<? extends Feature> features = schema.getFeatures(); RuleSelectionMethod ruleSelectionMethod = new RuleSelectionMethod(RuleSelectionMethod.Criterion.FIRST_HIT); RuleSet ruleSet = new RuleSet() .addRuleSelectionMethods(ruleSelectionMethod); if(defaultScore != null){ ruleSet .setDefaultConfidence(1d) .setDefaultScore(defaultScore); } for(Object[] rule : rules){ String predicate = TupleUtil.extractElement(rule, 0, String.class); String score = TupleUtil.extractElement(rule, 1, String.class); SimpleRule simpleRule = new SimpleRule() .setPredicate(PredicateTranslator.translate(predicate, features)) .setScore(score); ruleSet.addRules(simpleRule); } RuleSetModel ruleSetModel = new RuleSetModel(MiningFunction.CLASSIFICATION, ModelUtil.createMiningSchema(label), ruleSet); return ruleSetModel; }
List<RuleSelectionMethod> ruleSelectionMethods = ruleSet.getRuleSelectionMethods(); evaluateRules(ruleSet.getRules(), firedRules, context); String defaultScore = ruleSet.getDefaultScore(); if(defaultScore == null){ throw new MissingAttributeException(ruleSet, PMMLAttributes.RULESET_DEFAULTSCORE); Double defaultConfidence = ruleSet.getDefaultConfidence(); if(defaultConfidence == null){ throw new MissingAttributeException(ruleSet, PMMLAttributes.RULESET_DEFAULTCONFIDENCE);
public RuleSetModelEvaluator(PMML pmml, RuleSetModel ruleSetModel){ super(pmml, ruleSetModel); RuleSet ruleSet = ruleSetModel.getRuleSet(); if(ruleSet == null){ throw new MissingElementException(ruleSetModel, PMMLElements.RULESETMODEL_RULESET); } // End if if(!ruleSet.hasRuleSelectionMethods()){ throw new MissingElementException(ruleSet, PMMLElements.RULESET_RULESELECTIONMETHODS); } }
public RuleSet addScoreDistributions(ScoreDistribution... scoreDistributions) { getScoreDistributions().addAll(Arrays.asList(scoreDistributions)); return this; }
@Override public RuleSet addExtensions(Extension... extensions) { getExtensions().addAll(Arrays.asList(extensions)); return this; }
@Override public VisitorAction accept(Visitor visitor) { VisitorAction status = visitor.visit(this); if (status == VisitorAction.CONTINUE) { visitor.pushParent(this); if ((status == VisitorAction.CONTINUE)&&hasExtensions()) { status = org.dmg.pmml.PMMLObject.traverse(visitor, getExtensions()); } if ((status == VisitorAction.CONTINUE)&&hasRuleSelectionMethods()) { status = org.dmg.pmml.PMMLObject.traverse(visitor, getRuleSelectionMethods()); } if ((status == VisitorAction.CONTINUE)&&hasScoreDistributions()) { status = org.dmg.pmml.PMMLObject.traverse(visitor, getScoreDistributions()); } if ((status == VisitorAction.CONTINUE)&&hasRules()) { status = org.dmg.pmml.PMMLObject.traverse(visitor, getRules()); } visitor.popParent(); } if (status == VisitorAction.TERMINATE) { return VisitorAction.TERMINATE; } return VisitorAction.CONTINUE; }
public RuleSet addScoreDistributions(ScoreDistribution... scoreDistributions) { getScoreDistributions().addAll(Arrays.asList(scoreDistributions)); return this; }
@Override public RuleSet addExtensions(Extension... extensions) { getExtensions().addAll(Arrays.asList(extensions)); return this; }
public RuleSet addRules(Rule... rules) { getRules().addAll(Arrays.asList(rules)); return this; }
/** * Create an instance of {@link RuleSet } * */ public RuleSet createRuleSet() { return new RuleSet(); }
public RuleSet addRuleSelectionMethods(RuleSelectionMethod... ruleSelectionMethods) { getRuleSelectionMethods().addAll(Arrays.asList(ruleSelectionMethods)); return this; }
@Override public BiMap<String, SimpleRule> load(RuleSetModel ruleSetModel){ ImmutableBiMap.Builder<String, SimpleRule> builder = new ImmutableBiMap.Builder<>(); RuleSet ruleSet = ruleSetModel.getRuleSet(); builder = collectRules(ruleSet.getRules(), new AtomicInteger(1), builder); return builder.build(); }