@Override public PMML encodePMML(Model model){ if(this.transformers.size() > 0){ List<Model> models = new ArrayList<>(this.transformers); models.add(model); model = MiningModelUtil.createModelChain(models); } return super.encodePMML(model); }
@Override public DataField createDataField(FieldName name, OpType opType, DataType dataType, List<String> values){ if(dataType == null){ dataType = ValueUtil.getDataType(values); } return super.createDataField(name, opType, dataType, values); }
static public Feature encodeFeature(Feature feature, Object replacementValue, MissingValueTreatmentMethod missingValueTreatmentMethod){ ModelEncoder encoder = (ModelEncoder)feature.getEncoder(); Field<?> field = feature.getField(); if(field instanceof DataField){ MissingValueDecorator missingValueDecorator = new MissingValueDecorator() .setMissingValueReplacement(ValueUtil.formatValue(replacementValue)) .setMissingValueTreatment(missingValueTreatmentMethod); encoder.addDecorator(feature.getName(), missingValueDecorator); return feature; } else { throw new IllegalArgumentException(); } } }
.setImportance(importance); encoder.addDecorator(feature.getName(), importanceDecorator);
@Override public PMML encodePMML(Model model){ PMML pmml = super.encodePMML(model); Collection<Map.Entry<FieldName, FieldName>> entries = this.renamedFields.entrySet(); for(Map.Entry<FieldName, FieldName> entry : entries){ FieldRenamer renamer = new FieldRenamer(entry.getKey(), entry.getValue()); renamer.applyTo(pmml); } return pmml; }