@Override public List<PMMLMiningField> getMiningFields() { List<PMMLMiningField> fields = super.getMiningFields(); for (PMMLMiningField field : fields) { String type = field.getType(); if (type == null || type.trim().isEmpty()) { fields.remove(field); } } if (this.segmentation != null) { segmentation.getMiningSegments().stream() .flatMap(ms -> ms.getModel().getMiningFields().stream() ) .filter(fld -> !fields.contains(fld)) .forEach(fields::add); } return fields; }
protected void initChildModels() { childModels = new HashMap<>(); Iterator<Serializable> extenIter = rawModel.getExtensionsAndMiningSchemasAndOutputs().iterator(); segmentation = null; while (extenIter.hasNext() && segmentation == null) { Object obj = extenIter.next(); if (obj instanceof Segmentation) { segmentation = new MiningSegmentation(this,(Segmentation)obj); } } if (segmentation != null) { List<MiningSegment> segments = segmentation.getMiningSegments(); DataDictionary dd = this.getDataDictionary(); for (MiningSegment seg : segmentation.getMiningSegments()) { childModels.put(seg.getModel().getModelId(), seg.getModel()); } } }
protected List<PMMLResource> getChildResources(PMML pmml_origin, Miningmodel parent, List<PMMLResource> resourceList, ClassLoader classLoader, KieModuleModel module) { if (parent != null && parent.getSegmentation() != null) { MiningSegmentation segmentation = parent.getSegmentation(); if (segmentation.getMiningSegments() != null) { List<MiningSegment> segments = segmentation.getMiningSegments(); for (MiningSegment segment : segments) { if (segment.getModel() instanceof Miningmodel) { buildResourcesFromModel(pmml_origin, (Miningmodel) segment.getModel(), resourceList, classLoader, module); } else { resourceList.add(buildResourceFromSegment(pmml_origin, segment, classLoader, module)); } } } } return resourceList; }
case MODEL_CHAIN: templateVars.put("miningModel", this.getOwner()); templateVars.put("childSegments", this.getMiningSegments()); templateVars.put("packageName", pkgName); templateVars.put("ruleUnitClassName", this.getOwner().getRuleUnitClassName()); templateVars.put("ruleUnitClassName", this.getOwner().getRuleUnitClassName()); templateVars.put("miningModel", this.getOwner()); templateVars.put("childSegments", this.getMiningSegments()); templateVars.put("packageName", pkgName); ct = templates.getNamedTemplate(this.multipleModelMethod.name()); templateVars.put("ruleUnitClassName", this.getOwner().getRuleUnitClassName()); templateVars.put("miningModel", this.getOwner()); templateVars.put("childSegments", this.getMiningSegments()); templateVars.put("packageName", pkgName); ct = templates.getNamedTemplate(this.multipleModelMethod.name()); templateVars.put("ruleUnitClassName", this.getOwner().getRuleUnitClassName()); templateVars.put("miningModel", this.getOwner()); templateVars.put("childSegments", this.getMiningSegments()); templateVars.put("packageName", pkgName); ct = templates.getNamedTemplate(this.multipleModelMethod.name()); templateVars.put("ruleUnitClassName", this.getOwner().getRuleUnitClassName()); templateVars.put("miningModel", this.getOwner()); templateVars.put("childSegments", this.getMiningSegments()); templateVars.put("packageName", pkgName); ct = templates.getNamedTemplate(this.multipleModelMethod.name());
private void addMissingFieldDefinition(PMML pmml, MiningSegmentation msm, MiningSegment seg) { List<PMML4Model> models = msm.getMiningSegments().stream() .filter(s -> s != seg && s.getSegmentIndex() < seg.getSegmentIndex()) .map(iseg -> {