static public <F extends Field<?>> Set<F> selectAll(Collection<? extends F> fields, Set<FieldName> names){ return selectAll(fields, names, false); }
static public <F extends Field<?>> Set<F> selectAll(Collection<? extends F> fields, Set<FieldName> names){ return selectAll(fields, names, false); }
private void process(Field<?> field){ FieldReferenceFinder fieldReferenceFinder = new FieldReferenceFinder(); fieldReferenceFinder.applyTo(field); Set<Field<?>> activeFields = FieldUtil.selectAll(getFields(), fieldReferenceFinder.getFieldNames()); this.dependencies.put(field, activeFields); } }
private void process(Field<?> field){ FieldReferenceFinder fieldReferenceFinder = new FieldReferenceFinder(); fieldReferenceFinder.applyTo(field); Set<Field<?>> activeFields = FieldUtil.selectAll(getFields(), fieldReferenceFinder.getFieldNames()); this.dependencies.put(field, activeFields); } }
private void processModel(Model model){ Set<Field<?>> targetFields = getTargetFields(); MiningSchema miningSchema = model.getMiningSchema(); if(miningSchema != null && miningSchema.hasMiningFields()){ Set<FieldName> targetFieldNames = new LinkedHashSet<>(); List<MiningField> miningFields = miningSchema.getMiningFields(); for(MiningField miningField : miningFields){ FieldName name = miningField.getName(); MiningField.UsageType usageType = miningField.getUsageType(); switch(usageType){ case TARGET: case PREDICTED: targetFieldNames.add(name); break; default: break; } } if(targetFieldNames.size() > 0){ Set<Field<?>> modelFields = getFields(model); targetFields.addAll(FieldUtil.selectAll(modelFields, targetFieldNames)); } } }
private void processModel(Model model){ Set<Field<?>> targetFields = getTargetFields(); MiningSchema miningSchema = model.getMiningSchema(); if(miningSchema != null && miningSchema.hasMiningFields()){ Set<FieldName> targetFieldNames = new LinkedHashSet<>(); List<MiningField> miningFields = miningSchema.getMiningFields(); for(MiningField miningField : miningFields){ FieldName name = miningField.getName(); MiningField.UsageType usageType = miningField.getUsageType(); switch(usageType){ case TARGET: case PREDICTED: targetFieldNames.add(name); break; default: break; } } if(targetFieldNames.size() > 0){ Set<Field<?>> modelFields = getFields(model); targetFields.addAll(FieldUtil.selectAll(modelFields, targetFieldNames)); } } }
static public Set<Field<?>> getActiveFields(DeepFieldResolver resolver, Model model){ Set<Field<?>> modelFields = getModelFields(resolver, model); FieldReferenceFinder fieldReferenceFinder = new FieldReferenceFinder(){ @Override public VisitorAction visit(LocalTransformations localTransformations){ return VisitorAction.SKIP; } }; fieldReferenceFinder.applyTo(model); Set<Field<?>> activeFields = FieldUtil.selectAll(modelFields, fieldReferenceFinder.getFieldNames()); Output output = model.getOutput(); if(output != null){ activeFields.removeAll(output.getOutputFields()); } return activeFields; }
static public Set<Field<?>> getActiveFields(DeepFieldResolver resolver, Model model){ Set<Field<?>> modelFields = getModelFields(resolver, model); FieldReferenceFinder fieldReferenceFinder = new FieldReferenceFinder(){ @Override public VisitorAction visit(LocalTransformations localTransformations){ return VisitorAction.SKIP; } }; fieldReferenceFinder.applyTo(model); Set<Field<?>> activeFields = FieldUtil.selectAll(modelFields, fieldReferenceFinder.getFieldNames()); Output output = model.getOutput(); if(output != null){ activeFields.removeAll(output.getOutputFields()); } return activeFields; }
private Set<FieldName> processMiningModel(MiningModel miningModel){ Set<Field<?>> activeFields = DeepFieldResolverUtil.getActiveFields(this, miningModel); Set<FieldName> activeFieldNames = new HashSet<>(); Segmentation segmentation = miningModel.getSegmentation(); List<Segment> segments = segmentation.getSegments(); for(Segment segment : segments){ Model model = segment.getModel(); if(model == null){ continue; } MiningSchema miningSchema = model.getMiningSchema(); List<MiningField> miningFields = miningSchema.getMiningFields(); for(MiningField miningField : miningFields){ FieldName name = miningField.getName(); MiningField.UsageType usageType = miningField.getUsageType(); switch(usageType){ case ACTIVE: activeFieldNames.add(name); break; default: break; } } } Set<Field<?>> modelFields = getFields(miningModel); Set<Field<?>> activeModelFields = FieldUtil.selectAll(modelFields, activeFieldNames, true); activeFields.addAll(activeModelFields); expandDerivedFields(miningModel, activeFields); return FieldUtil.nameSet(activeFields); }
private Set<FieldName> processMiningModel(MiningModel miningModel){ Set<Field<?>> activeFields = DeepFieldResolverUtil.getActiveFields(this, miningModel); Set<FieldName> activeFieldNames = new HashSet<>(); Segmentation segmentation = miningModel.getSegmentation(); List<Segment> segments = segmentation.getSegments(); for(Segment segment : segments){ Model model = segment.getModel(); if(model == null){ continue; } MiningSchema miningSchema = model.getMiningSchema(); List<MiningField> miningFields = miningSchema.getMiningFields(); for(MiningField miningField : miningFields){ FieldName name = miningField.getName(); MiningField.UsageType usageType = miningField.getUsageType(); switch(usageType){ case ACTIVE: activeFieldNames.add(name); break; default: break; } } } Set<Field<?>> modelFields = getFields(miningModel); Set<Field<?>> activeModelFields = FieldUtil.selectAll(modelFields, activeFieldNames, true); activeFields.addAll(activeModelFields); expandDerivedFields(miningModel, activeFields); return FieldUtil.nameSet(activeFields); }